使用动态形式的jQuery禁用单选按钮

时间:2015-10-07 15:57:15

标签: jquery radio-button

我一直在疯狂地试图以动态生成的形式禁用单选按钮。这是我正在使用的代码。抛出错误的是ID名称,因为其中包含所有括号。我试图逃避它们,但无济于事。

剧本:

$(document).ready(function() {

 $("div.property_options_select input[id='#akID\\[114\\]\\[atRadioOptionID\\]\\[\\]1']").on('click',function(){
    $("input:radio").attr('disabled',true);
    });
}); 

html:

<div class="property_options_select">

            <label class="radio">
              <input type="radio" name="akID[114][atRadioOptionID][]" id="akID[114][atRadioOptionID][]1" value="17"  class="ccm-input-radio"  />                  9:00AM - 11:00AM              </label>


            <label class="radio">
              <input type="radio" name="akID[114][atRadioOptionID][]" id="akID[114][atRadioOptionID][]2" value="18"  class="ccm-input-radio"  />                  9:30AM - 11:30AM              </label>

任何人都有建议如何定位第一个单选按钮?

4 个答案:

答案 0 :(得分:1)

您可以使用:first-child选择器定位第一个孩子,如下所示:

$("input:radio:first-child").attr("disabled","disabled");

http://jsfiddle.net/dajzvysg/

答案 1 :(得分:0)

您尝试使用双反斜杠?

$('#akID\\[114\\]\\[atRadioOptionID\\]\\[\\]1').prop('disabled', true);

答案 2 :(得分:0)

你必须在jquery选择器中使用双斜杠。

   $(document).ready(function() {
        $("div.property_options_select input[id='#akID\\[114\\]\\[atRadioOptionID\\]\\[\\]1']").on('click',function(){
            $("input:radio").attr('disabled',true); 
        }); 
    });

答案 3 :(得分:0)

你不需要逃避括号。您只需要删除#

您的选择器将为$("div.property_options_select input[id='akID[114][atRadioOptionID][]1']")

https://jsfiddle.net/3h4jpm1e/