0
$('#mybutton').click(function(){
var form = $(this).parents('form:first');
var values = form.serialize();

//do some ajax calls
})

现在我想做这样的事情

$("#myForm :input[value]").serialize() on the parent form

但我找不到办法做到这一点。我猜我必须使用 .find()

4

3 回答 3

4

不确定我明白了,但上下文选择器是 的快捷方式find()this.form应该是父表单?

$(":input[value!='']", this.form).serialize()
于 2013-04-02T15:58:35.013 回答
1

你会做

var values = $(this).parents('form:first').find(":input[value][value!='']").serialize();

或者在你的第二种情况下,

var values = $("#myForm :input[value][value!='']").serialize();

有关更多详细信息,请参阅相关问题。

于 2013-04-02T16:08:52.287 回答
0

我不知道问题是什么但是

$(":input[value!='']", this.form).serialize()

对我不起作用,我不确定它的作用,因为它似乎只过滤默认值我花了太多时间让它工作并最终手动过滤输入

var data={};
var formData = form.serializeArray();
$.each(formData, function (index, value) {
    var data_name = formData[index].name;
    var data_value = formData[index].value;
    if (data_value !== "") {
        data[data_name] = data_value;
    }
});
于 2013-04-03T06:43:32.910 回答