简单方案:
<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;
}
由于某种原因,它总是产生&#34; 0&#34;作为价值。我尝试使用closest
,尝试使用siblings
与next
进行解决,但似乎没有任何效果。
我需要下一个.radioinput
,后面跟着之前的.new_question
。
我错过了什么或做错了什么?
更新1
根据建议,我将attr
更改为prop
,所以现在看起来确实如此:
var active = $(this).parent().next(".radioinput").prop("checked") ? 1 : 0;
但仍然始终0
答案 0 :(得分:1)
由于: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>