【发布时间】:2013-12-02 05:43:59
【问题描述】:
如何在单击按钮时获取列表视图中选中的复选框值?
我正在使用 jQuery append 动态构建列表项。
这是创建列表项的 jQuery 代码... obj_address_list 是一个对象数组,每个对象都有名称、别名、id 和移动设备。复选框的值类似于“名称”
$.each(obj_address_list, function(ctr, obj) {
$('#ul_address_list').append('<li data-icon="false">' +
'<a href="#" class="add-container">' +
'<label class="add-container" data-corners="false">' +
'<input name="chk_address" id="chk_address" type="checkbox" value="'+obj.name+'<'+obj.alias+'-'+obj.id+'>'+'" />' +
'<label class="lbl_add-container">' +
'<h3>'+obj.name+'</h3>' +
'<p>'+obj.mobile+'</p></div>' +
'</label>' +
'</label>' +
'</a>' +
'</li>');
});
$("input[name=chk_address]").checkboxradio();
$('#ul_address_list').listview('refresh');
追加后在屏幕下方查找。
当点击“发送”按钮时,我需要捕获所有选中的复选框值并将其传递到另一个页面。
以下是我在点击发送按钮时尝试使用的代码。按钮的 id 是“a_send-sms”,复选框的 id 是“chk_address”。但这似乎不起作用。
$("#a_send-sms").on("tap",function(e){
e.preventDefault();
var selected = new Array();
$('#chk_address input:checked').each(function() {
alert('inside');
selected.push($(this).attr('value'));
});
console.log(selected);
});
我错过了什么?
【问题讨论】:
-
请出示您的 HTML。
-
你想得到哪个值?号码999445551?无论如何使用
.val();而不是.attr("value");。 -
您的选择器错误,请尝试
$('ul input:checked')或$("ul .ui-checkbox")。 编辑你有两个value属性。 -
@omar - 我删除了重复值属性。谢谢你指点我。这个
$('ul input:checked')按预期工作,它只循环选定的值。当我尝试这个$("ul .ui-checkbox")时,它会循环所有复选框项目。 **你是我的明星** -
不客气,很高兴能帮到您。
标签: jquery jquery-mobile checkbox