首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jquery中不工作的多个下拉列表

问在Jquery中不工作的多个下拉列表
EN

Stack Overflow用户
提问于 2016-02-04 06:10:39
回答 1查看 147关注 0票数 0

我试图创建一个多个下拉列表,这里是HTML,JS代码

代码语言:javascript
复制
<div class="meaaow">
<select style="margin-top:10px;width: 90%;margin-left:5px;" name="3223|887" id="3223" class="pp ProjectType_1" required="" pattern="[^a-zA-Z0-9]">
    <option value="0" selected="">Requirements</option>
    <option value="Services">Services</option>
    <option value="Products" selected="">Products</option>
</select>

<select style="margin-bottom:10px;width: 90%;margin-left:5px;" name="3224|888" id="3224" class="qq SubProjectType_1" required="" pattern="[^a-zA-Z0-9]">
    <option value="">Select Category</option>
</select>

<select style="margin-bottom:10px;width: 90%;margin-left:5px;" name="3387|947" id="3387" class="SubsubProjectType_1" required="" pattern="[^a-zA-Z0-9]">
    <option value="0">Select Sub Category</option>
</select>
</div>

JS

完成链接上的Js

FIDDLELINK

所以我想做的是

代码语言:javascript
复制
$('.pp').change(function () {
    var classNamex = $(this).attr('class');
    var pTypeBufr = classNamex.split(' ');
    var ptype = pTypeBufr[1].split('_');
    var OptIndex = $('option:selected', $(this)).index();
    var optionx = "<option value=''>Select Category</option>";


    //alert(OptIndex);
    if(OptIndex !=4)
    {
        var SubProject_arr = s_a[OptIndex].split("|");
        for (var i = 0; i < SubProject_arr.length; i++) {

            optionx += "<option value='" + SubProject_arr[i] + "' >" + SubProject_arr[i] + "</option>";
        }
    }
    if(OptIndex ==1)
    $('.SubProjectType_'+ptype[1]).removeClass('qq').addClass('uu').html(optionx);
    if(OptIndex ==2)
    $('.SubProjectType_'+ptype[1]).removeClass('uu').addClass('qq').html(optionx);
});

对于两个不同的类,我有两个这样的函数

代码语言:javascript
复制
$('.qq').change(function () {
        var classNamex = $(this).attr('class');
        var pTypeBufr = classNamex.split(' ');
        var ptype = pTypeBufr[1].split('_');
        var OptIndex = $('option:selected', $(this)).index();
        var optionx = "<option value=''>Select Sub Category</option>";


        alert('sssss');
        if(OptIndex ==2)
        {
            var SubProject_arr = t_a[OptIndex].split("|");
            for (var i = 0; i < SubProject_arr.length; i++) {

                optionx += "<option value='" + SubProject_arr[i] + "' >" + SubProject_arr[i] + "</option>";
            }
        }
       // alert('.SubProjectType_'+ptype[1]);
        $('.SubsubProjectType_'+ptype[1]).html(optionx);
    });

对于.uu类

代码语言:javascript
复制
$('.uu').change(function () {

    var classNamex = $(this).attr('class');
    var pTypeBufr = classNamex.split(' ');
    var ptype = pTypeBufr[1].split('_');
    var OptIndex = $('option:selected', $(this)).index();
    var optionx = "<option value=''>Select Sub Category</option>";


    alert('im inside uu');

        var SubProject_arr = u_a[OptIndex].split("|");
        for (var i = 0; i < SubProject_arr.length; i++) {

            optionx += "<option value='" + SubProject_arr[i] + "' >" + SubProject_arr[i] + "</option>";
        }

   // alert('.SubProjectType_'+ptype[1]);
    $('.SubsubProjectType_'+ptype[1]).html(optionx);
});

所以基本上我是在更新第二个下拉列表的类名,但是每次我使用第二个下拉列表时,与.qq类相关的函数都只是在触发。

请帮帮我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-04 06:23:06

我在原始HTML中找不到类uu,我看到您动态地切换类uu和qq。

对动态内容上的事件使用事件委托:

代码语言:javascript
复制
     $(document).on('change', '.pp', function () { .....
     $(document).on('change', '.qq', function () { .....
     $(document).on('change', '.uu', function () { .....
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35193735

复制
相关文章

相似问题

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