Javascript Jquery Selected正在本机选择框后面的步骤上更新级联选择
我在通过数据库填充的4个选择框上使用jquery Selected 选择框ID为:#年份#395、#制造#395、#型号#395、#修剪#395 我使用以下脚本“级联”它们,以便第二个选择框的选项取决于第一个选择的选项,第三个选择框的选项取决于第二个选择,等等Javascript Jquery Selected正在本机选择框后面的步骤上更新级联选择,javascript,jquery,jquery-chosen,Javascript,Jquery,Jquery Chosen,我在通过数据库填充的4个选择框上使用jquery Selected 选择框ID为:#年份#395、#制造#395、#型号#395、#修剪#395 我使用以下脚本“级联”它们,以便第二个选择框的选项取决于第一个选择的选项,第三个选择框的选项取决于第二个选择,等等 function cascadeSelect(parent, child){ var childOptions = child.find('option:not(.static)'); child.data('option
function cascadeSelect(parent, child){
var childOptions = child.find('option:not(.static)');
child.data('options',childOptions);
parent.change(function(){
var parentValue = (this.value).replace(" ", "_");
childOptions.remove();
child
.append(child.data('options').filter('.sub_' + parentValue))
.change();
})
childOptions.not('.static, .sub_' + parent.val()).remove();
}
本机选择框正确层叠。问题是,当我实现jQuerySelected时,新的选择框会更新,但会比本机框落后一步。现在,我使用下面的代码来更新jQuerySelected的替换选择框显示的选项。这将导致选中的jQuery在选择了#Model_395的选项后立即更新#Trim_395
$("#Model_395").chosen().change(function(){
$("#Trim_395").trigger('chosen:updated');
});
以下是构建站点的链接:
您将看到,如果您选择了年份、品牌和型号,则没有可用的修剪选项,就像您尚未选择型号一样。如果随后选择其他模型,则将显示所选第一个模型的选项。选择第三个模型将显示第二个模型的修剪选项,等等。我自己想出来的。所选jQuery在隐藏的选择框更新之前已更新,因此:
$("#Model_395").change(function(){
wto = setTimeout(function() {
$("#Trim_395").trigger('chosen:updated');
}, 500);
});
解决了这个问题。感谢所有看过的人:)