Javascript 复选框事件和保持数组-如何在代码中处理?
我的phonegap应用程序中有以下代码:Javascript 复选框事件和保持数组-如何在代码中处理?,javascript,jquery,cordova,Javascript,Jquery,Cordova,我的phonegap应用程序中有以下代码: function onDeviceReady() { var listOfSports = new Array(["Aikido"],["Air Sports"],["American Football"],["Angling"],["Archery"],["Yoga"]); $.each(listOfSports, function (i) { console.log(
function onDeviceReady() {
var listOfSports = new Array(["Aikido"],["Air Sports"],["American Football"],["Angling"],["Archery"],["Yoga"]);
$.each(listOfSports, function (i) {
console.log(i);
var li = $('<li><input class="checkbox" type="checkbox"' + 'id="' + listOfSports[i] + '"' + 'label="' + listOfSports[i] + '">' + listOfSports[i] + '</li>')
.appendTo("ul.listViewContainer");
});
$("#listViewContainer").listview();
$("#listViewContainer").listview("refresh");
}
函数ondevicerady(){
var listOfSports=新阵列([“合气道”]、[“空中运动”]、[“美式足球”]、[“钓鱼”]、[“射箭”]、[“瑜伽”]);
$.each(运动列表,功能(i){
控制台日志(i);
变量li=$(“”+listOfSports[i]+“ ”)
.appendTo(“ul.listViewContainer”);
});
$(“#listViewContainer”).listview();
$(“#listViewContainer”).listview(“刷新”);
}
如何获取选中项的值,并在选中时将值添加到数组中,或在取消选中时将其删除?类似的内容。这将在数组中存储所有复选框ID
var arr = [];
function onDeviceReady() {
var listOfSports = new Array(["Aikido"],["Air Sports"],["American Football"],["Angling"],["Archery"],["Yoga"]);
$.each(listOfSports, function (i) {
console.log(i);
var li = $('<li><input class="checkbox" type="checkbox"' + 'id="' + listOfSports[i] + '"' + 'label="' + listOfSports[i] + '">' + listOfSports[i] + '</li>')
.appendTo("ul.listViewContainer");
});
$("#listViewContainer").listview();
$("#listViewContainer").listview("refresh");
$(".checkbox").click(function () {
if ($(this)[0].checked)
{
arr.push($(this).attr("id"));
}
else
{
arr = $.grep(arr, function( a ) {
return a != $(this).attr("id");
});
}
});
}
非常感谢。我知道这是一个由来已久的问题,但直接给出答案更容易理解!快速奖励问题-如何删除未选中的元素?else语句应该这样做吗?您想从数组或html中删除它吗?else语句似乎没有任何作用:(我的意思是从数组中删除。谢谢您的帮助
else
{
var check = $(this);
arr = $.grep(arr, function( a ) {
return a != $(check).attr("id");
});
}