You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将下拉框选中值追加到URL时返回对象而非数值如何解决?

问题原因

var Adult = $("#adult")获取到的是jQuery封装的下拉框DOM元素对象,而非下拉框的选中值。直接将对象拼接进字符串时,JS会自动调用对象的toString()方法做类型转换,最终输出object%...这类非预期的编码结果。

修复方案
  • 基础修复:调用jQuery对象的.val()方法直接获取选中项的value属性值
    var Adult = $("#adult").val();
    
  • 鲁棒性优化:增加类型转换和默认值容错,避免空值、异常值导致后续逻辑出错
    // 转换为十进制数字,解析失败时默认返回0,匹配下拉框的value取值规则
    var Adult = parseInt($("#adult").val(), 10) || 0;
    
额外优化建议

拼接URL参数时,建议用encodeURIComponent()包裹参数值,避免特殊字符导致URL解析错误,修改后的拼接代码示例:

url = url + "RedirectFromOutSide.aspx?arrivaldate=" + stringdata($("#StartDate").datepicker('getDate')) + "&departuredate=" + stringdata($("#EndDate").datepicker('getDate')) + "&hotelid=" + HotelID + "&Type=" + type + "&lang=" + Culture + "&adults=" + encodeURIComponent(Adult);

内容的提问来源于stack exchange,提问作者Kenneth Camilleri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:27:04