2

啊,我绞尽脑汁想弄清楚这一点。Jquery 的新手...您可能很快就会知道...

尝试使用选项 id 来设置隐藏输入的值,但数小时和数百次谷歌搜索都没有解决方案。

我已经弄清楚如何使用选择器 ID 提取所选选项的值,但我想获取选项的 ID,因此我可以将该唯一 ID 设置为隐藏输入的值。

<form>
<select name="amount" id="item_number1">
    <option value="1" id="11">one</option>
    <option value="2" id="22">two</option>
    <option value="3" id="33">three</option>
</select>
<input type="button" value="Set Value" onclick="$('#item_number2').val( $('#item_number1').val() )"/>
<input id="item_number2" type="text" />

Ps:隐藏输入不在此表单中,在此表单中,我使用的是文本输入字段,因此我可以可视化我的方法是否有效。

4

2 回答 2

1

您可以像这样获取所选选项的 id:

<script>
$(function(){
  var sItem = document.getElementById("item_number1");
  $("#transfer").on("click", function(){
    $("#item_number2").val( sItem[sItem.selectedIndex].id );
  });
});
</script>
<input type="button" id="transfer" value="Transfer ID" />
<select name="amount" id="item_number1">
  <option value="1" id="11">one</option>
  <option value="2" id="22">two</option>
  <option value="3" id="33">three</option>
</select>
<input type="text" id="item_number2" />

请注意,您不应该以数字开头 id 值 - 这可能会给您带来麻烦。当涉及到这样的事情时,最好遵守规则。

演示:http: //jsbin.com/ucujex/edit#javascript,html,live

于 2012-04-28T04:42:48.990 回答
1

您可以将按钮更新onclick为:

$("#item_number2").val($("#item_number1 option:selected").attr("id"));

一个很好的改进是在您更改选项时自动更改select(您不需要按钮)。

$("#item_number1").change(function() {
    $("#item_number2").val($("option:selected", this).attr("id"));
});
于 2012-04-28T04:47:30.483 回答