提交表单时使用SELECT中的文本而不是值

时间:2017-11-20 16:31:59

标签: jquery html

我正在使用的JQuery插件显示了国家/地区和州的列表,其选择选项标签是这样的:

<option value='US'>United States</option>

当我提交它时,我希望它发布(没有ajax)“美国”而不是“美国” - 但我找不到一个在线的好解决方案......任何人都有任何想法?

PS。这是插件:http://bootstrapformhelpers.com/state/

PS。最终解决方案:

  • 我只是将ISO代码传回PHP并使用geoip查找州/省/县名称
  • 国家有点棘手,但是我将包含ISO 2digit代码的json下载到国家/地区名称,并使用PHP来解析它

1 个答案:

答案 0 :(得分:3)

考虑到这已被标记为JQuery,这是一个JQuery解决方案......您可以使用

检索选项元素的内部文本
$("#list option:selected").text();

以及

$("#list option[value='US']").text()

由于您没有完全解决问题,如果您使用表单向服务器发出POST请求,则可以在表单上创建隐藏输入,并且在更改值时,您可以将结果附加到隐藏字段使用上面的代码。

编辑:使其“自动”:

$("#list").change(function(){
   // Set the hidden field here with selected option
})

编辑:看来插件还有一个依赖于JQuery的更改事件(为什么?我不知道......)

$('#list').on('change.bfhselectbox', function () {
   // Set the hidden field here too if you wish...
});