4

我有一个数据列表:

<datalist id="subjects">
<?php foreach($subjects as $v){ ?>
        <option data-subjectid="<?php echo $v[2]; ?>" value="<?php echo ucwords($v[1]); ?>"><?php echo ucwords($v[1]); ?></option>
<?php } ?>
</datalist>

我想要做的是获取存储在data-subjectid所选值的属性中的值。到目前为止,我一直在做的是.each()像这样在 jQuery 中调用函数:

//on Select Change
var selectedvalue = $(this).val();
$('#subjects option').each(function(){
   if(current_value == selectedvalue){
      //get the data-subjectid of current value   
   }
});

有没有更好更快的方法来做到这一点?

4

1 回答 1

1

我不确定这是否更快(我不是 100% 确定这个选择器是如何在幕后工作的),但您可以使用:selected 选择器使代码更简洁。

var subjectId = $('#subjects option:selected').attr('data-subjectid');
于 2012-03-12T18:23:53.873 回答