【发布时间】:2015-08-24 02:14:06
【问题描述】:
我在页面上有复选框,我只想在更改每个复选框时发布选中的值
$(function () {
$('.list input').change(function (e) {
//e.preventDefault();
var favorite = [];
$.each($(".list input[type='checkbox']:checked"), function () {
favorite[$(this).attr("name")].push = $(this).val();
});
var str;
str = $.param(favorite);
$.ajax({
url: '/schema.asp',
type: 'POST',
data: str,
dataType: 'text',
success: function (response) {
alert(response);
}
});
});
});
但是我不能正确的语法来推送检查到数组
$.each($(".list input[type='checkbox']:checked"), function () {
favorite[$(this).attr("name")].push = $(this).val();
});
请显示正确的方式。
$(this).attr("name") 可以不同于 (Make[],Model[],Year()) 并且必须是字符串
已解决:
由于没有人回答完整的答案,这是最终的工作代码
$(function () {
$('.list input').change(function (e) {
//e.preventDefault();
var favorite = {};
$.each($(".list input[type='checkbox']:checked"), function(){
if(typeof(favorite[$(this).attr("name")]) == 'undefined'){
favorite[$(this).attr("name")] = [];
}
favorite[$(this).attr("name")].push($(this).val());
});
var str;
str = $.param(favorite);
$.ajax({
url: '/schema.asp',
type: 'POST',
data: str,
dataType: 'text',
success: function (response) {
alert(response);
}
});
});
});
【问题讨论】:
标签: javascript jquery arrays multidimensional-array