【Codebase】JQuery获取表单部分数据提交方法

JQuery使用ajax提交整个表单最简便的方法就是$('#form').serialize();但如果仅想保存表单中的部分数据,比如仅更新选中的条目,那么获取数据就比较麻烦了。

解决方法:新建一个表单,并把所有需要提交数据的元素html加入到这个表单,再序列化就可以了。

var elements='';
$('.needsave').each(function(){
    elements+=$(this).html();
});
data=$('<form>').html(elements).serialize();

要注意一个问题是,使用以上方法拼接起来的表单,是获取不到select下拉框的值的,原因是下拉框选中时option并没有添加selected属性,因此可以再select中增加一个onchange

事件,用selected属性标记选中的值:

var v=$('select').val();
$('select').find('option').each(function(i){
    if(v.length>0&&$(this).val()==v)
        $(this).attr('selected','selected');
    else
        $(this).removeAttr('selected');
});

 input的value,

$('input').attr('value',$('input').val());

textrea

$('textarea').text($('textarea').val());

参考:http://bbs.csdn.net/topics/390855779

原文地址:https://www.cnblogs.com/GaZeon/p/7991542.html