2013-08-16 72 views
2

我需要序列化除select option标签之外的所有字段,其中所选值为缺省值。我的选择选项html标签就像这样。如果选定的选项没有值,则需要从jquery序列化方法中忽略它。与ID的form序列化选择选项字段

<select> 
    <option>Select a brand</option> 
    <option value='1'>Sony</option> 
    <option value='2'>Apple</option> 
    <option value='3'>Nokia</option> 
</select> 

回答

1

DEMO

function showValues() { 
    var str = $('#form1').clone(); 
    $.each(str[0], function (i, val) { 
     var str_new = '<pre>' + str[0][i] + '</pre>'; 
     if (str_new === '<pre>[object HTMLSelectElement]</pre>') { 
      str[0][i].disabled = 'true'; 
     } 
    }); 
    var str_serialize = str.serialize(); 
    $('#test').text(str_serialize); 
    console.log(str_serialize); 
} 
$('#sbt').click(function() { 
    showValues(); 
}); 

var str克隆form1

使用'<pre>' + str[0][i] + '</pre>'这些标签它返回像用于$.each()循环克隆可变

的阵列周围选择标签<pre>[object HTMLSelectElement]</pre> object ty PE

如果<pre>[object HTMLSelectElement]</pre>匹配然后我disabled它在我用serialize()到克隆和它的工作结束时的克隆

2

谢谢你的答案,但我能够通过此代码实现它$(':not(select[value=""])', myForm).serialize();

+0

我不能弄清楚你是怎么做到的,你可以让小提琴让我知道你是如何解散它或更新这个fidlle - > http://jsfiddle.net/cse_tushar/JENyF/1 –

+0

这里是例子 - > http://jsfiddle.net/crazyMAN/w3Mjn/。选择一个品牌或保持其默认值并点击序列化按钮下面的文本框将显示序列化的值。 – codeGEN

+0

大拇指,你让它工作,我采取了另一种方式左右lol –

相关问题