jquery - 使用 jquery 获取所选选项的值

标签 jquery forms twitter-bootstrap-3

我的问题可能很愚蠢,因为我是网络开发新手,现在很困惑。

我的问题的第一部分是,有时当我使用 console.log(some element) 打印内容时,它给了我一个包含所有监听器的巨大对象,但有时它只是返回一个 html 字符串,如下所示:

<option value="CS 245">CS 245</option>

我发现的方式some element像上面一样使用选择器如下:

$( ".course_list option:selected" )[0]

我对这里的术语感到抱歉,因为我真的想知道复杂对象和上面的对象(以及它们的名称)之间的区别。我已经尽力选择我的用词,但由于缺乏经验,我未能说得更清楚。如果有人明白我的意思,请帮我编辑这个问题并提供答案,提前致谢。

那么我问题的第二部分是我想从上面的对象中获取“CS 245”字符串。我已经尝试过

$( ".course_list option:selected" )[0].val();
$( ".course_list option:selected" )[0].attr("value");
$( ".course_list option:selected" )[0].text();

但是他们都给了我这个错误:

Uncaught TypeError: undefined is not a function 

我已经包含了 jquery,并且控制台中没有显示其他crash/file_not_found。我正在使用最新的 Bootstrap 和 formstone 选择器,但我不确定这对我有何影响。

有人可以帮忙吗?

最佳答案

您不需要将其转换为 javascript 对象 原始 DOM 元素,只需执行以下操作:

$( ".course_list option:selected" ).val()

当您执行 $( ".course_list option:selected")[0] 时,您将获得原始 DOM 元素,它不是 jquery 对象,因此请调用 val()它会给你错误。

对于 DOM 元素,你可以这样尝试:

$( ".course_list option:selected" )[0].getAttribute("value")

要了解更多信息,您可以引用此 SO Post

关于jquery - 使用 jquery 获取所选选项的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26880649/

相关文章:

javascript - 如何在表格中找到最后一个可见的 <td>?

javascript - 如何使用 JavaScript 创建无限循环的随机播放文本效果?

forms - drupal 问题 - 如何从另一个模块打印表单?

php - 几种阻止表单正常提交的方法?

html - 如何在 Bootstrap 中创建包含多列的导航栏下拉菜单?

html - 按钮不存在时呈现输入组

php - 将标题修剪为最接近的词

jquery - IE9跨域AJAX请求

perl - HTML::Form Handler 角色和字段

twitter-bootstrap - 重新格式化列移动桌面 Bootstrap 3