select表单序列化serialize()出现问题

本文介绍了在使用jQuery进行序列化时遇到的一个问题及其解决方案。原先尝试通过选择已选中的option元素进行序列化但未成功,改为直接序列化select元素则正常获取到了值。此外还对比了serialize与serializeArray方法的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在序列化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"}]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值