jQuery检索并设置html选择元素的选定选项值

时间:2009-08-03 12:04:33

标签: jquery

我正在尝试使用jQuery检索并设置select元素(下拉列表)的选定值。

for retrievevel我尝试了$("#myId").find(':selected').val(),以及$("#myId").val(),但都返回undefined。

非常感谢对这个问题的任何见解。

9 个答案:

答案 0 :(得分:248)

获取/设置select元素的实际selectedIndex属性:

$("#select-id").prop("selectedIndex");

$("#select-id").prop("selectedIndex",1);

答案 1 :(得分:150)

你现在拥有它的方式是正确的。选择的id不是你说的,或者你在dom中有一些问题。

检查元素的ID,并检查您的标记是否在W3c的here验证。

如果没有有效的dom,jQuery无法与选择器一起正常工作。

如果ID正确并且您的dom有效,则以下情况适用:

阅读选择选项值

$('#selectId').val();

设置选择选项值

$('#selectId').val('newValue');

阅读所选文字

$('#selectId>option:selected').text();

答案 2 :(得分:7)

$('#myId').val()应该这样做,如果不这样做我会尝试:

$('#myId option:selected').val()

答案 3 :(得分:4)

使用JQM进行设置时,请勿忘记更新UI

$('#selectId').val('newValue').selectmenu('refresh', true);

答案 4 :(得分:3)

如果$("#myId").val()是选择元素ID,则

myid应该有效!

这将设置所选项目:$("#myId").val('VALUE');

答案 5 :(得分:1)

假设您已使用SELECT标记创建了一个下拉列表,如下所示,

<select id="Country">

现在,如果您想使用JQuery从下拉列表中查看所选值,那么只需将以下行放入以检索该值即可。

var result= $("#Country option:selected").text();

它会正常工作。

答案 6 :(得分:0)

我知道这已经过时了,但我只是和Razor有过一段时间,无论我怎么努力都无法让它工作。无论是否使用“text”或“html”属性,都会以“未定义”的形式返回。最后,我在选项中添加了“数据值”属性,它读得很好。

 <option value="1" data-value="MyText">MyText</option>

 var DisplayText = $(this).find("option:selected").attr("data-value");

答案 7 :(得分:0)

$(“#myId option:selected”)。text();将为您提供您在下拉元素中选择的文本。无论哪种方式,您都可以将其更改为.val();获得它的价值。检查以下编码

import random
import datetime as dt
import numpy as np
import pandas as pd

def generate_row(year, month, day):
    while True:
        date = dt.datetime(year=year, month=month, day=day)
        data = np.random.random(size=4)
        yield [date] + list(data)

# days I have data for
dates = [(2000, 1, 1), (2000, 1, 2), (2000, 2, 4)]
generators = [generate_row(*date) for date in dates]

# get 5 points for each
data = [next(generator) for generator in generators for _ in range(5)]

# make dataframe
df = pd.DataFrame(data, columns=['date'] + ['f'+str(i) for i in range(1,5)])

# using the resample method
df.set_index(df.date, inplace=True)
df = df.resample('D').sum().fillna(0)

答案 8 :(得分:-1)

尝试一下

$('#your_select_element_id').val('your_value').attr().add('selected');