2012-03-12 7 views
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属性に保存されている取得することです。私が今までやっていることは、このようにjQueryで.each()関数を呼び出すことです:

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

これを行うには良いとより高速な方法はありますか?

+0

あなたは$(この).ATTR(「データ-subjectid」) – spicavigo

答えて

1

これが高速であるかどうかわかりません(このセレクターがどのようにカバーしているかは100%確信していませんが):selected selectorを使用してコードを少しきれいにすることができます。

var subjectId = $('#subjects option:selected').attr('data-subjectid'); 
+0

こののみ選択フィールド上の作品ではなくデータリスト –

+1

この答えが間違っている、 'datalist'のオプションがサポートされていないを試してみました': (データリストが複数のフォームフィールドを提供できるため、技術的に複数のオプションを異なる入力で同時に選択することができるため) –

関連する問題