0

我在 wordpress 中有 2 个下拉菜单(main_cat 和 sub_cat)...第二个已禁用,应在第一个更改时启用。当第一个下拉列表更改时,它进入(为了证明这一点,我添加了这一行 alert('The option with value 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(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);
    });
}); 
4

1 回答 1

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");
});
于 2013-06-21T16:28:52.677 回答