选中父div时检查单选按钮?

时间:2013-11-14 00:32:32

标签: jquery html

我有一个单选按钮,如果用户单击其内部的div,我可以选择。我有一个div的点击事件,但我似乎无法检查单选按钮。

继承我的代码:

var new_div = document.createElement('div');
        new_div.setAttribute('id', 'controlDiv');
        new_div.setAttribute('class', 'ansClass');
var newAnswer = document.createElement('input');
        newAnswer.setAttribute('type', 'radio');
        newAnswer.setAttribute('name', 'choice');
        newAnswer.setAttribute('class', 'radioButton');
        $(newAnswer).attr("id", "button"+j);


        var newLabel = $("<label>", {id: "label"+j, class: "ansLabel", text: "answer"+j});


        $(new_div).append(newAnswer); 
        $(new_div).append(newLabel);



$( "#controlDiv" ).click(function() {
    var radButton = $(this).find('input[type=radio]');
    radButton.click();
      //  $(radButton).attr("checked", "checked");
});

2 个答案:

答案 0 :(得分:4)

尝试使用.prop()代替.attr()

$( "#controlDiv" ).click(function() {
    var radButton = $(this).find('input[type=radio]');
    $(radButton).prop("checked", true);
});

答案 1 :(得分:1)

我会对Arun的答案有类似的答案,除了修改一点以便允许取消勾选:

$('#controlDiv').click( function(){
  var radButton = $(this).find('input[type=radio]');
  if(radButton).is(':checked')){
    $(radButton).removeAttr('checked');
  } else {
    $(radButton).attr('checked', 'checked');
  }
});

我可能会更进一步,并提供具有特定ID的单选按钮。如果它是众多之一,请尝试上课。这只会让您在编码时更加专业。