今天在序列化select时,遇到了一个问题
HTML:
<input name="id" type="text"/>
<select class="form-control" id="placeSelect" name="place">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
原来的做法:
alert($('select>option:selected').serialize())//''
alert(typeof 'select>option:selected').serialize();//string
之后尝试了这种,就好了:
alert($('select').serialize());//place=1
alert(typeof $('select').serialize());//string
同理:
alert($('input,select>option:selected').serializeArray());//[object Object]
alert(JSON.stringify($('input,select>option:selected').serializeArray()));//[{"name":"id","value":""}]
alert($('input,select').serializeArray());//[object Object],[object Object]
alert(JSON.stringify($('input,select').serializeArray()));//[{"name":"id","value":""},{"name":"place","value":"1"}]
本文介绍了在使用jQuery进行序列化时遇到的一个问题及其解决方案。原先尝试通过选择已选中的option元素进行序列化但未成功,改为直接序列化select元素则正常获取到了值。此外还对比了serialize与serializeArray方法的区别。

255

被折叠的 条评论
为什么被折叠?



