我声明了一个变量,并希望将复选框的状态传递给dhcp_addr
变量,并在选中复选框时将其设置为1,取消选中时将其设置为0。在向变量返回值时需要一些帮助。
var dhcp_addr = $('#dhcp').change(function () {
if(dhcp.checked) {
console.log("checked");
} else {
console.log("unchecked");
}
});
答案 0 :(得分:7)
您无法从功能中“返回”它,因为任何时候都可能发生更改。相反,您可以在发生更改时重新分配值。
var dhcp_addr;
$('#dhcp').change(function() {
if (this.checked) {
dhcp_addr = 1;
} else {
dhcp_addr = 0;
}
});
但是,如果您对1
和0
值使用true
和false
,我建议您更直接地使用这些值。
dhcp_addr = this.checked;
答案 1 :(得分:1)
这是我提出的最简单的方法:
var dhcp_addr;
$("#dhcp").change(function () {
dhcp_addr = this.checked ? 1 : 0;
});
答案 2 :(得分:0)
您可以使用此代码简化它
var dhcp_addr;
$('#dhcp').change(function() {
dhcp_addr = +this.checked;
});
因此,this.checked
为布尔值,+true
转换为数字(1),+false
为0。
答案 3 :(得分:0)
尝试下面的代码段:
var dhcp_addr = $('#dhcp').change(function(){
alert ( $('#dhcp').is(':checked') ? 1 : 0 );
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="dhcp" id="dhcp" value="on" />Check <br />
&#13;