Javascript 检查复选框是否选中添加值,如果未选中则删除值

Javascript 检查复选框是否选中添加值,如果未选中则删除值,javascript,jquery,html,Javascript,Jquery,Html,我有一个复选框html <label><input type="checkbox"><span>Air Conditioning</span></label> <label><input type="checkbox"><span>Cable TV Service</span></label> <label><input type="checkbox">

我有一个复选框html

<label><input type="checkbox"><span>Air Conditioning</span></label>
<label><input type="checkbox"><span>Cable TV Service</span></label>
<label><input type="checkbox"><span>Private Bathroom</span></label>
若任何一个被取消选中,变量将更新为

room_features = '2-3';
所以,对于复选框上的每一个更改,都应该更新变量。我不知道添加data=“1”等是否适合复选框?当有单引号和双引号时,我通常会使用锚定。

html

<label><input type="checkbox" checked="checked" data="1"><span>Air Conditioning</span></label>
<label><input type="checkbox" checked="checked" data="2"><span>Cable TV Service</span></label>
<label><input type="checkbox" data="3"><span>Private Bathroom</span></label>

参考

html

<label><input type="checkbox" checked="checked" data="1"><span>Air Conditioning</span></label>
<label><input type="checkbox" checked="checked" data="2"><span>Cable TV Service</span></label>
<label><input type="checkbox" data="3"><span>Private Bathroom</span></label>

参考

您可以使用
.map()
方法,请注意,我已将
属性添加到元素中,而不是
数据
,因为输入应该有值,否则使用它有什么意义?如果要使用
data-*
属性,应指定标识符。类似于
,然后可以使用jQuery
data()
方法获取值:
$(elem).data('id')

get()
返回一个数组,如果需要数组,可以删除返回字符串的
.join()
方法。

可以使用
.map()
方法,请注意,我已将
属性添加到元素中,而不是
数据
,作为输入应该有值,否则使用它有什么意义?如果要使用
data-*
属性,应指定标识符。类似于
,然后可以使用jQuery
data()
方法获取值:
$(elem).data('id')

get()
返回数组,如果需要数组,可以删除返回字符串的
.join()
方法。

您应该在每个复选框中使用值。例如:

HTML:

<input type="checkbox" value="1" checked />
<input type="checkbox" value="2" checked />
<input type="checkbox" value="3" />
var searchIDs = $("input:checkbox:checked").map(function(){
        return this.value;
    }).toArray();

您应该在每个复选框中使用值。例如:

HTML:

<input type="checkbox" value="1" checked />
<input type="checkbox" value="2" checked />
<input type="checkbox" value="3" />
var searchIDs = $("input:checkbox:checked").map(function(){
        return this.value;
    }).toArray();
javascript

getElementById("chkbox1").checked=true;
jquery

$("#chkbox1").prop("checked");

javascript

getElementById("chkbox1").checked=true;
jquery

$("#chkbox1").prop("checked");

检查这个

检查这个

试试这个动态的

var room_features = "";

$('[type=checkbox]').change(function () {
var data = "-" + $(this).attr('data');
if (room_features.indexOf(data) != -1) {
    room_features = room_features.replace(data, "");
    alert(room_features);
} else {
    room_features = room_features + data;
    alert(room_features);
}
});

试试这个动态的

var room_features = "";

$('[type=checkbox]').change(function () {
var data = "-" + $(this).attr('data');
if (room_features.indexOf(data) != -1) {
    room_features = room_features.replace(data, "");
    alert(room_features);
} else {
    room_features = room_features + data;
    alert(room_features);
}
});

为什么不使用
value=“1”
?您的javascript在哪里?检查一下,为什么不使用
value=“1”
?你的javascript在哪里?检查这个和@Riturajratan的答案有什么区别?您只需添加一个单击处理程序,甚至变量都是相同的。使用此按钮,您可以随时检查它与@Riturajratan的答案有什么区别?您只需添加一个单击处理程序,即使变量也是相同的。使用此按钮,您可以随时检查
var room_features = "";

$('[type=checkbox]').change(function () {
var data = "-" + $(this).attr('data');
if (room_features.indexOf(data) != -1) {
    room_features = room_features.replace(data, "");
    alert(room_features);
} else {
    room_features = room_features + data;
    alert(room_features);
}
});