所以我有一段代码
Update
其中$(this).find('input[name^="radio-qid-"]:checked').val()
包含一段HTML就像获取一段HTML中的选中单选按钮一样
$(this)
奇怪的是,它总是在那个上下文中计算为<div class="yesno-holder">
<div class="radio">
<label><input type="radio" class="yes-radio" name="radio-qid-2" value="100" checked="">Yes</label>
</div>
<div class="radio">
<label><input type="radio" class="no-radio" name="radio-qid-2" value="50">No</label>
</div>
</div>
,而如果我在浏览器中输入NaN
,它会获得所有选中的单选按钮这样的HTML片段,它打印出一个真实的值(作为一个字符串)。那么这里发生了什么????
答案 0 :(得分:2)
表单返回的值将是一个字符串。您必须先将其转换为数字。
尝试从单选按钮获取值并将其放入parseInt
,例如parseInt($('input[name^="radio-qid-"]:checked').val(),10)
答案 1 :(得分:1)
我可以给你一个更具体的理由为什么&#34;这个&#34;选择器没有工作。
&#34; this&#34; selector指的是父元素中的值。例如,尝试使用此代码,它将起作用。
$(document).ready(function(){
$('.yesno-holder').click(function(){
var value = ($(this).find('input[name^="radio-qid-"]:checked').val());
alert(value);
});
});
在这种情况下,这指的是“.yesno-holder”内的内容。被点击了。您可以设置尽可能多的“.nono-holder”#39;您喜欢的实例,它只会在您单击的类中返回结果。
答案 2 :(得分:0)
嗯......我已经过测试,所有人都在努力工作。这里很好......
jQuery(document).ready(function($) {
$('input[name^="radio-qid-"]:checked').on('change',function(){
alert($(this).val());
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="yesno-holder">
<div class="radio">
<label>
<input type="radio" class="yes-radio" name="radio-qid-2" value="100" checked="">Yes</label>
</div>
<div class="radio">
<label>
<input type="radio" class="no-radio" name="radio-qid-2" value="50">No</label>
</div>
</div>
&#13;