我想将数据推送到对象中,以便通过ajax发布动态数据。
这是我的非工作代码:
$j(document).ready(function() {
var data = {
test: 'test'
}
$j('.fancyajax').bind('click', function () {
var myclass = '.' + $(this).attr("id");
$j(myclass).each(function() {
data.push({$j(this).attr("name") : $j(this).val()});
});
});
$j('.fancyajax').fancybox({
ajax: {
type: "POST",
data: data
}
});
});
答案 0 :(得分:3)
Array.push()
用于数组 - 对于哈希,您可以这样做:
data[{$j(this).attr("name")] = $j(this).val();
答案 1 :(得分:2)
试试这个:
$j('.fancyajax').bind('click', function () {
var myclass = '.' + $(this).attr("id");
$j(myclass).each(function () {
data[$j(this).attr("name")] = $j(this).val();
});
});
要将一些数据添加到javascript 对象,您需要执行以下操作:
data['new variable name'] = 'new variable';
答案 2 :(得分:1)
对于数组推送if,但数据是一个对象,所以这应该有效:
$j(myclass).each(function() {
data[$j(this).attr("name")] = $j(this).val();
});
答案 3 :(得分:1)
将您的代码更改为;
data[$j(this).attr("name")] = $j(this).val();