首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择的Jquery正在更新本机选择框后面的级联选择

选择的Jquery正在更新本机选择框后面的级联选择
EN

Stack Overflow用户
提问于 2014-03-10 15:01:00
回答 1查看 673关注 0票数 0

我使用jquery选择了4个选择框,这些选择框是通过数据库填充的。

选择框ids为:#Year_395、#Make_395、#Model_395、#Trim_395。

我使用以下脚本来“级联”它们,以便第二个选择框的选项取决于第一个选择框中选择的选项,第三个选择框的选项取决于第二个选择,依此类推。

代码语言:javascript
复制
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();
}

本机选择框可以正确级联。问题是,当我实现jQuery Chosen时,新的选择框会更新,但比本机框晚一步。现在,我使用下面的代码来更新jQuery Chosen的替换选择框显示的选项。一旦选择了#Model_395的选项,这应该会导致选择的jQuery立即更新#Trim_395。

代码语言:javascript
复制
$("#Model_395").chosen().change(function(){
    $("#Trim_395").trigger('chosen:updated');
});

以下是指向构建站点的the link

您将看到,如果您选择年份、制造商和型号,则没有可用的修剪选项,就好像您尚未选择型号一样。如果您随后选择了另一个模型,则将显示您选择的第一个模型的选项。选择第三个模型将显示第二个模型的修剪选项,依此类推。

EN

回答 1

Stack Overflow用户

发布于 2014-03-11 06:59:19

我自己想出来的。在隐藏的选择框有时间更新之前,已选择的jQuery正在更新,因此:

代码语言:javascript
复制
 $("#Model_395").change(function(){
 wto = setTimeout(function() {
     $("#Trim_395").trigger('chosen:updated');
}, 500);
 });

解决了这个问题。感谢所有关注以下内容的人:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22293916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档