我想获取选择选项标签的文本并将其填充到隐藏的输入字段中。
我可以获得该值,但我想知道在选择或更改选项时如何填充隐藏字段。我实际上是一个 jquery 新手,所以我真的不知道与选择选项相关的事件。
小提琴:http: //jsfiddle.net/m5A9U/
代码
假设您的 HTML 是
<select id="select">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type='hidden' id='hidden' value=''/>
jquery代码将是
$("#select").change(function () {
$("#hidden").val($(this).val());
//alert($(this).val())
})
编辑要获取所选选项的标签,请尝试
$("#hidden").val($(this).find('option:selected').text());
更新示例:http: //jsfiddle.net/m5A9U/1/
我刚刚创建了这个简单的jsFiddle。关注评论以获得更好的理解。有一个使用纯 JavaScript 的解决方案和另一个使用 jQuery 的解决方案。
- 编辑 -
即使它不是您原始问题的一部分,在这里jsFiddle 2也是您可以获得“标签”而不是值的方式。
我们需要查看一些 HTML 才能准确了解您的标签设置方式,但这里有一个基本示例:
$("#sel1").change(function () {
$("#myInput").val(($("label[for=" + $(this).attr("id") + "]").text()));
});
小提琴:http: //jsfiddle.net/johnkoer/Lh8Eg/6/
获取选择元素的选项标签。我们可以试试这个:
<select id="id_select">
<option value="myval_1">Text 1</option>
<option value="myval_2">Text 2</option>
<option value="myval_3">Text 3</option>
</select>
然后编写脚本:
$('#id_select option[value="'+ $('#id_select').val() +'"]').text();
如果您有一个要根据选择输入中的文本转换为人类可读文本的值列表:
HTML
<div id="current_values"></div>
<select id="id_select">
<option value="1">First Option</option>
<option value="2">Second Option</option>
<option value="3">Third Option</option>
</select>
JavaScript
var values = [1,3];
for(var i = values.length; i >=0; i--){
$("#current_Values").append($('#id_select option[value="'+ values[i] +'"]').text()+"<br>");
}