考虑到以下情况:

<select id="location">
    <option value="a" myTag="123">My option</option>
    <option value="b" myTag="456">My other option</option>
</select>

<input type="hidden" id="setMyTag" />

<script>
    $(function() {
        $("#location").change(function(){
            var element = $(this);
            var myTag = element.attr("myTag");

            $('#setMyTag').val(myTag);
        });
    });
</script>

这行不通…… 我需要做什么来让隐藏字段的值更新到myTag的值时,选择被改变。我假设我需要做一些关于获得当前选择的值…?


当前回答

试试这个例子:

$("#location").change(function(){

    var tag = $("option[value="+$(this).val()+"]", this).attr('mytag');

    $('#setMyTag').val(tag); 

});

其他回答

如果是一种形式,语法会更简单。

Var选项= $('选项:selected').attr('mytag')

... 如果多于一种形式。

Var选项= $('select#myform选项:selected').attr('mytag')

var optionAttr1 = $(this).find('option:selected').attr("myTag");
var optionAttr = $('#location option:selected').attr("myTag");

这是因为元素是“Select”而不是“Option”,其中有自定义标记。

试试这个:$("#location option:selected").attr("myTag")。

希望这能有所帮助。

$("body").on('change', '#location', function(e) {

 var option = $('option:selected', this).attr('myTag');

});

试试这个例子:

$("#location").change(function(){

    var tag = $("option[value="+$(this).val()+"]", this).attr('mytag');

    $('#setMyTag').val(tag); 

});