在PHP中实现样式链式选择框


Implementing style chained select boxes in PHP

我一直在尝试在PHP中实现样式链接选择框太长时间了,我真的不明白哪里出了问题。以下是文件:http://cl.ly/3j002v1E3s3G0c2O2B1M(有很多文件,抱歉发了一个链接)

选择第一个时,选择框就会消失。

谁能告诉我为什么不工作?谢谢。

你的下拉菜单消失了,因为

$('select[name="firmware"]').parent().remove();

你的select.parent()<div id="formcontainer">,这是你下拉选择的容器;所以你从页面上删除了那个元素,反过来又删除了它们。


编辑如果你想在选择不同的手机时删除固件下拉菜单中的选项,请使用

$('select[name="firmware"] option').remove();

$('select[name="firmware"]').empty();

编辑2 从ajax调用返回的数据中没有显示正确地填充固件下拉菜单,也可以使用

$('select[name="firmware"]').html(data);

$('select[name="firmware"]').append(data);

如果你只是从ajax调用返回选项html代码,像这样

<option value="1.0">1.0</option>
<option value="2.0">2.0</option>

但是selectBox插件的演示页面建议使用

$('select[name="firmware"]').selectBox('options', {
    'Opt Group 1': {
        '1': 'Value 1',
        '2': 'Value 2',
        '3': 'Value 3',
        '4': 'Value 4',
        '5': 'Value 5'
    },
    'Opt Group 2': {
        '6': 'Value 6',
        '7': 'Value 7',
        '8': 'Value 8',
        '9': 'Value 9',
        '10': 'Value 10'
    },
    'Opt Group 3': {
        '11': 'Value 11',
        '12': 'Value 12',
        '13': 'Value 13',
        '14': 'Value 14',
        '15': 'Value 15'
    }
});

如果你以

格式返回数据
{
    'Opt Group 1': {
        '1': 'Value 1',
        '2': 'Value 2',
        '3': 'Value 3',
        '4': 'Value 4',
        '5': 'Value 5'
    }
}

你可以做$('select[name="firmware"]').selectBox('options', data);


结论

基本上如果你的findFormware.php代码只返回选项html代码,没有其他类似的

<option value="1.0">1.0</option>
<option value="2.0">2.0</option>

phone下拉菜单的javascript代码应该是

$('select[name="phone"]').change(function(){
    var phoneId = this.value;
    $('select[name="firmware"]').empty();
    $.ajax({
        url: "findFirmware.php?phone=" + phoneId,
        success: function(data) { 
            $('select[name="firmware"]').append(data);
        }
    });
});