鉴于以下情况:
<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的值。我假设我需要做一些事情来获取当前选择的值......?
您正在将事件处理程序添加到<select>元素。 因此,$(this)将是下拉菜单本身,而不是选定的<option>.
<select>
$(this)
<option>
您需要找到 selected <option>,如下所示:
var option = $('option:selected', this).attr('mytag');