在jQuery中检查或未选中RadioButton值

  • 本文关键字:RadioButton jQuery jquery
  • 更新时间 :
  • 英文 :


简单方案:

<div class="question_wrapper">
    <input type="text" class="new_question">
    <input type="checkbox" class="radioinput" name="new_questionActive[]">
</div>

我正在尝试弄清楚如何达到此无线电按钮的特定值,每当我按下一个按钮时,它会动态添加。

到目前为止的JavaScript:

$('.new_question').each(function() {
    var active = $(this).parent().next(".radioinput").attr("checked") ? 1 : 0;
}

由于某种原因,它总是产生" 0"作为值。我尝试与closest合作,试图用siblings使用next

我需要下一个.radioinput,直接遵循先前的.new_question

我想念或做错了什么?

更新1

所建议的,我将attr更改为prop,所以现在看起来确实撒谎:

var active = $(this).parent().next(".radioinput").prop("checked") ? 1 : 0;

但仍然总是0

as :checkbox是当前元素的兄弟姐妹,因此您需要将.next()与当前元素一起使用。

var active = $(this).next(".radioinput").prop("checked") ? 1 : 0;
console.log(active)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="question_wrapper">
    <input type="text" class="new_question">
    <input type="checkbox" class="radioinput" name="new_questionActive[]">
</div>

或者,您可以使用.find()来定位后代,而不是.next()

var active = $(this).parent().find(".radioinput").prop("checked") ? 1 : 0;
console.log(active)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="question_wrapper">
    <input type="text" class="new_question">
    <input type="checkbox" class="radioinput" name="new_questionActive[]">
</div>

最新更新