javascript - 使用 jQuery 获取 <select> <option> 的文本不产生 'normal' 结果

标签 javascript jquery html

所以我一直在绞尽脑汁试图弄清楚是什么导致下面的代码行不能“正常”运行:

$('#country option:selected').text()

需要说明的是,我尝试了多种方法来获取选项标签的输出,但都没有成功。 由于以前的帖子,我正在使用 .text() 但它只返回一个空字符串。

我正在尝试做的是将表单数据发送到纯文本文件。

我也尝试过以下代码,但没有成功:

$('#country option').text()
$('#country option').val()
$('#country option:selected').val()

我已经包含了一个 CodePen协助解决问题。
我还可以包括这使用 php 从一个在 197 个国家/地区加载的文件中加载国家/地区列表。为了帮助重现我的问题,我只在我的 Pen 中包含了 2 个(通过普通 HTML)。

在第二页上,从下拉列表中选择一个国家并转到最后一页。它会说希望提交..。打开浏览器的控制台,然后单击按钮。这将生成空白字符串。它应该生产的是选定的国家。我已经在简单的设置中尝试过了,效果很好。

我错过了什么?

最佳答案

<select name="country"> 中缺少 ID .所以你的 <select>应该是这样的

<select name="country" id="country">
    <!--<?php require_once( 'php/countries.php' ); ?>-->
    <option value="US">US</option>
    <option value="Canada">Canada</option>
</select>

如果你想从选择中获得值(value)

country = $('#country').val()

或者如果您想要所选选项的文本

text = $('#country option:selected').text()

关于javascript - 使用 jQuery 获取 <select> <option> 的文本不产生 'normal' 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25411641/

相关文章:

javascript - WebRTC 是否适用于 phonegap/Cordova?

javascript - AngularJs ng-click $event 将子元素作为目标传递

html - 你如何将一个字符串连接到一个 div 类名?

html - 我怎样才能让这个 <h1> 元素出现在表格下面而不是它的右边?

javascript - ESLint 未检测到导入的 React 组件

javascript - 使用 Jquery 更改悬停为单击功能

javascript - 不依赖浏览器,在浏览器中保持输入值不变

javascript - 自调用匿名函数与面向对象的方法来防止影响全局命名空间

javascript - 当脚本没有上传文件时如何阻止提交按钮?

html - 具有动态高度 CSS 的封面图像