我正在尝试在rails应用程序中检索f.select
表单助手的值。
f.select的代码是(在HAML中):
= f.select :level, [["L1 - Super easy", 1], ["L2 - Warm-up", 2], ["L3 - Easy exam questions", 3], ["L4 - Moderate exam questions", 4], ["L5 - Difficult exam questions", 5]], id: "level-AS"
导致以下html:
<select id="test_level" name="test[level]">
<option value="1" selected="selected">L1 - Super easy</option>
<option value="2">L2 - Warm-up</option>
<option value="3">L3 - Easy exam questions</option>
<option value="4">L4 - Moderate exam questions</option>
<option value="5">L5 - Difficult exam questions</option>
</select>
f.select的id为“level-AS”,我已设法使用
进行定位$('#level-AS').select()
这给了我Object { context: HTMLDocument → new, selector: "#level-AS" }
但我想要的是它返回已经选择的实际值,即“简单”或“硬”。
我也试过
$('#level-AS').select().val()
我也试过
$('#level-AS').val()
但这会返回undefined ....
答案 0 :(得分:4)
你应该这样做:
$('#level-AS').val()
或者根据你的html:
$('#test_level').val()
Sidenote,您可以这样做,而不是按ID定位:
$('select[name="test[level]"]').val()
答案 1 :(得分:1)
我认为您的问题是f.select中的ID丢失了。我认为这是由于rails如何将参数分成各个部分。试试这个:
= f.select :level, [["L1 - Super easy", 1], ["L2 - Warm-up", 2], ["L3 - Easy exam questions", 3], ["L4 - Moderate exam questions", 4], ["L5 - Difficult exam questions", 5]], {}, {id: "level-AS"}
答案 2 :(得分:0)
您可以调用val()方法来获取值。
$('#level-AS').val()