使用jQuery我想检查是否选中了div标签内的复选框或单选按钮,并获取所选复选框和单选按钮的值。
例如:
<div>
Question
<div>
What is your name?
</div>
<div>
<input type="radio" name="r1" checked/>abc<br/>
<input type="radio" name="r1"/>pqr<br/>
<input type="radio" name="r1"/>lmn<br/>
</div>
</div>
<div style="visibility: hidden">
Question
<div>
What is your company name?
</div>
<div>
<input type="checkbox" name="c1" checked/>comp1<br/>
<input type="checkbox" name="c1"/>Comp2<br/>
<input type="checkbox" name="c1"/>Comp3<br/>
</div>
</div>
按钮点击我想显示问题,并在那个问题的答案前面。如下所示
你叫什么名字= abc
您的公司名称是什么= comp1,comp2
感谢。
答案 0 :(得分:7)
在这里你可以找一些代码示例
var chk = $('#dvTest input:radio:checked');
chk.attr('value');
它将为您提供检查哪个无线电按钮。无论您想要什么价值,请将其保存在该值的属性中:
<input type="radio" name="r1" checked="checked" value="abc"/>
你可以为复选框做同样的事。
答案 1 :(得分:4)
请参阅http://api.jquery.com/checked-selector/,了解如何使用:选中的选择器。
答案 2 :(得分:0)
也许是这样的:
http://jsfiddle.net/magicaj/xFqHN/
HTML:
<div>
Question
<div>
What is your name? <span id="your-name"></span>
</div>
<div>
<input type="radio" name="r1" value="abc" checked="checked" />abc<br/>
<input type="radio" name="r1" value="pqr" />pqr<br/>
<input type="radio" name="r1" value="lmn" />lmn<br/>
</div>
</div>
<div id="comp" style="visibility: hidden">
Question
<div>
What is your company name?<span id="comp-name"></span>
</div>
<div>
<input type="checkbox" name="c1" value="comp1" checked/>comp1<br/>
<input type="checkbox" name="c1" value="Comp2" />Comp2<br/>
<input type="checkbox" name="c1" value="Comp3" />Comp3<br/>
</div>
</div>
JS:
$("input[name='r1']").click(function() {
$("#your-name").html($(this).val());
updateCompName();
$("#comp").css("visibility", "visible");
});
var updateCompName = function() {
var element = $("#comp-name");
var compNames = "";
compCheckboxes.each(function() {
if (this.checked === true) {
compNames += " " + $(this).val();
}
});
$("#comp-name").html(compNames);
}
var compCheckboxes = $("input[name='c1']");
compCheckboxes.click(updateCompName);
您错过了无线电和复选框上的value
属性。我添加了跨占位符来使用收音机/复选框的当前值更新文本。