我想获得结果变量中复选框的值。但我在警告框中将值视为“未定义”。我的错是什么?
var result = "";
$("#required").change(function (){
result= $(".mycheckbox:checked").val();
alert(result);
});
<div class=".mycheckbox">
<input id="required" type="checkbox" title="Required" name="required" value="required">
<label for="required">Required</label>
</div>
答案 0 :(得分:4)
在你的代码中
result= $(".mycheckbox:checked").val();
我认为应该是
result= $("#required").val();
答案 1 :(得分:4)
最好使用点击事件而不是更改,因为根据浏览器,更改事件的工作方式不同,例如IE only fires the change event when the checkbox loses focus
$(function() {
$("#required").click(function (){
var result= $(this).attr('checked');
alert(result);
});
});
修改强>
我想我可能误解了你的问题。如果您只想在选中复选框时显示带复选框值的警报,则以下内容将起作用
$(function() {
$("#required").click(function (){
if ($(this).is(':checked')) {
var result = $(this).val();
alert(result);
}
});
});
答案 2 :(得分:2)
$(“。mycheckbox:checked”)不正确,应该是:
$(".mycheckbox :checked")
(注意空格)
您的div声明也不正确。您不应在类名中添加点:
<div class="mycheckbox">
答案 3 :(得分:2)
您可以执行以下操作:
var result = ($("#required").is(':checked')) ? $("#required").val() : false;