$('form#input, form#radio, form#select').change(function() {
$.post("assets/ajax/save.php",
{ "id": $("input#id").val(), $(this).attr('name') : $(this).val() },
function(data) {
alert(data);
},
"html"
);
});
有问题的是“$(this).attr('name')”部分。是否可以动态创建名称?上面的代码会引发错误。
答案 0 :(得分:3)
确实如此,但您必须使用括号([]
)表示法来构建哈希:
$('form#input, form#radio, form#select').change(function() {
var data = {"id": $("input#id").val()};
data[$(this).attr("name")] = $(this).val();
$.post("assets/ajax/save.php",
data,
function(data) {
alert(data);
},
"html"
);
});