我的表格中有一个国家选择器:
<select class="bfh-countries text-left" name="country" id="country" data-country="DE">
</select>
我可以像这样使用jQuery获取值:
$("#country").val()
但是当我尝试使用$("#myform").serializeArray()
序列化表单时,&#34; country&#34;的值是一个空字符串。
我该如何解决这个问题?
答案 0 :(得分:2)
我遇到了这个问题,我花了很长时间才找到它,因为它没有任何例子。你真正想要做的是使用data-name =“country”,它将后端的隐藏变量命名为country。对于国家/地区选择器,您可以使用div标签,如下所示:
<div class="country bfh-selectbox bfh-countries" data-flags="true" data-filter="true" data-name="country" data-country="POSTBACK_VARIABLE_GOES_HERE"></div>
如果你这样做,你会发现一个隐藏的变量,它被添加到页面中,如下所示:
<input type="hidden" name="country" value="US">
上面的值假设您选择了美国,但它是作为2个字符的代码输入的,如果您需要进行服务器端验证并再次显示页面而不强制用户执行,则可以将其输入上面的数据国家/地区再次选择值。
这真是一场噩梦。