我一直在尝试在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);
}
});
});