Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery Selected正在本机选择框后面的步骤上更新级联选择_Javascript_Jquery_Jquery Chosen - Fatal编程技术网

Javascript Jquery Selected正在本机选择框后面的步骤上更新级联选择

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

我在通过数据库填充的4个选择框上使用jquery Selected

选择框ID为:#年份#395、#制造#395、#型号#395、#修剪#395

我使用以下脚本“级联”它们,以便第二个选择框的选项取决于第一个选择的选项,第三个选择框的选项取决于第二个选择,等等

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);
 });
解决了这个问题。感谢所有看过的人:)