有关select和option value =“”的问题使用JQuery

时间:2009-11-08 20:11:26

标签: jquery selectedindex

让我说我的列表看起来像这样:

<select name="name" id="id">
    <option value="10176232332">David</option>
    <option value="10187232332">Sven</option>
    <option value="10202232332">Ololf</option>
    <option value="10219232323">Jan</option>
    <option value="10230232323">Gustaf</option>
</select>

使用JQuery,我如何提取每个选项的值 - 例如:

<option value="10176232332">David</option>

其中10176232332是值。使用:

($("#id").val()) 

提取名称,而不是数字组合。使用regluar Javascript我会使用:

list.options[list.selectedIndex].value;

有没有“JQuery方式”这样做或者我应该坚持上述?

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:3)

var selected = $("#id option:selected");
var value = selected.val();

答案 1 :(得分:1)

val()功能仅适用于输入元素(inputselecttextareabutton)。 option元素不是输入元素。

如前所述,您需要将其作为“普通”元素处理,通过option.attr('value')获取。

答案 2 :(得分:0)

我认为这应该有效:

$("#id").attr("value")

...但是我使用jQuery已经有一段时间了。

答案 3 :(得分:0)

我假设你将触发一个事件处理程序来捕获这些信息,对吗?如果是这样,我将如何访问所选值的“id”和“name”组件:

    $('select').change(function () { 
        var id = $(":selected", this).val();
        var name = $(":selected", this).text();
    });

` 行动here中有一段此代码的演示。