我有四个依赖的选择列表,我想给所有选择列表一个默认值/占位符,如下所示:select ...
。问题在于,当我尝试这样做时:<option value=""> Select ... </option>
它不起作用。因为当我更改第一个选择列表时,由于依赖性,其他选择列表会自动更改。
这就是我填写依赖选择列表的方式:
$("#slctTable").change(function()
{
$.getJSON("dropdown_code/get_fields.php?table=" + $(this).val(), success = function(data)
{
optionsFields= "";
for(var i = 0; i < data.length; i++)
{
optionsFields += "<option value='" + data[i]['field_name'] + "'>" + data[i]['field_alias'] + "</option>";
}
$("#slctField").html("");
$("#slctField").append(optionsFields);
$("#slctField").change();
})
});
});
使用此功能我将optionsFields放入数组:
function allValues(el) {
var arr = $('option', el).map(function(i, v) {
return this.value;
}).get();
return arr;
}
答案 0 :(得分:1)
而不是optionsFields= "";
使用optionsFields= "<option value='0'> Select... </option>"
。它无法正常工作,因为您可能在HTML中设置默认值并在更改功能中覆盖它。
答案 1 :(得分:0)
如果你可以分享完全的小提琴,那将会很棒,但是看看你的javascript,我可以看到一个问题。
而不是打电话:
$("#slctTable").change();
我认为你应该致电
$("#slctTable").trigger("change");
触发更改事件
此外,最好使用具有值
的默认字符串<option value="">Select...</option>
除此之外,如果您可以创建一个可以从提供的数组创建选项字符串的通用函数,并且还可以在该字符串中附加默认选项,那将会很棒。在这种情况下,它将减少错误的机会,就像我们在这里的方式一样。
希望有所帮助。