WordPress中的JQuery和Dropdown

时间:2013-06-21 16:24:54

标签: jquery wordpress

我在wordpress中有2个下拉列表(main_cat和sub_cat)...第二个被禁用,应该在第一个被更改时启用。 当第一个下拉列表被更改时,它会进入(为了证明这一点,我添加了这一行警告('带有值main_cat的选项'+ $ mainCat);并且警报显示正确)。 然而,问题在于这一行:jQuery(“#sub_cat”)。prop(“disabled”,true);因为它什么也没做。

我检查了jsFiddle(jQuery 1.8.3)中的代码并且它完美地工作,但是当它放在Classipress中时,它不起作用。 我也试过jQuery(“#sub_cat”)。attr(“disabled”,“disabled”);

以下所有代码均为子主题。

任何想法为什么它不起作用或我怎样才能使它工作?

HTML

 <select name="main_cat" id="main_cat">
        <option selected="selected" disabled="disabled" value="none">Type</option>
        <option>Option 1</option>   
        <option>Option 2</option>
    </select>

    <select name="sub_cat" id="sub_cat" disabled="disabled">
        <option selected="selected" disabled="disabled" value="none">Brand</option>
        <option>Option 1</option>   
        <option>Option 2</option>
    </select>

JQUERY

jQuery(function ($) {
    jQuery("#main_cat").change(function () {
        var $mainCat = $('#main_cat').val();

        //this is to check that it is entering when main_cat is changed
        alert('The option with value main_cat ' + $mainCat);
        $("#sub_cat").empty();
        jQuery("#sub_cat").prop("disabled", true);
    });
}); 

1 个答案:

答案 0 :(得分:0)

你的闭包没有“jQuery”的上下文,使用那个功能里面的$。

编辑:您需要删除“已禁用”属性,就像添加它之前一样。

jQuery("#main_cat").on("change", function(){
   var $mainCat=$('#main_cat').val();
   alert('The option with value main_cat ' + $mainCat); //this is to check that it is entering when main_cat is changed
   $("#sub_cat").removeAttr("disabled");
});