我正在尝试使用jQuery检索并设置select元素(下拉列表)的选定值。
for retrievevel我尝试了$("#myId").find(':selected').val()
,以及$("#myId").val()
,但都返回undefined。
非常感谢对这个问题的任何见解。
答案 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');