如何为依赖的 select 列表设置默认值 values/placeholders?
How to set default values/placeholders for depended select lists?
我有四个依赖的 select 列表,我想给所有 select 列表一个默认的 value/placeholder,如下所示:select ...
。问题是,当我尝试这样做时:<option value=""> Select ... </option>
它不起作用。因为当我更改第一个 select 列表时,其他 select 列表会因为依赖关系而自动更改。
这就是我填写依赖 select 列表的方式:
$("#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;
}
而不是 optionsFields= "";
使用 optionsFields= "<option value='0'> Select... </option>"
。它不起作用,因为您可能在 HTML 中设置默认值并在更改函数中覆盖它。
如果你能分享确切的 fiddle 就太好了,但是看看你的 javascript,我发现了一个问题。
而不是调用:
$("#slctTable").change();
我觉得你应该打电话给
$("#slctTable").trigger("change");
触发变化事件
此外,最好有一个值为
的默认字符串
<option value="">Select...</option>
除此之外,如果您可以创建一个通用函数,它可以从提供的数组创建选项字符串,并且还可以在该字符串中附加默认选项,那就太好了。在那种情况下,它会减少出错的机会,就像我们这里的方式一样。
希望对您有所帮助。
我有四个依赖的 select 列表,我想给所有 select 列表一个默认的 value/placeholder,如下所示:select ...
。问题是,当我尝试这样做时:<option value=""> Select ... </option>
它不起作用。因为当我更改第一个 select 列表时,其他 select 列表会因为依赖关系而自动更改。
这就是我填写依赖 select 列表的方式:
$("#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;
}
而不是 optionsFields= "";
使用 optionsFields= "<option value='0'> Select... </option>"
。它不起作用,因为您可能在 HTML 中设置默认值并在更改函数中覆盖它。
如果你能分享确切的 fiddle 就太好了,但是看看你的 javascript,我发现了一个问题。
而不是调用:
$("#slctTable").change();
我觉得你应该打电话给
$("#slctTable").trigger("change");
触发变化事件
此外,最好有一个值为
的默认字符串<option value="">Select...</option>
除此之外,如果您可以创建一个通用函数,它可以从提供的数组创建选项字符串,并且还可以在该字符串中附加默认选项,那就太好了。在那种情况下,它会减少出错的机会,就像我们这里的方式一样。
希望对您有所帮助。