1

この拡張機能とともに、選択したもので Bootstrap を使用している電卓があります: http://silviomoreto.github.io/bootstrap-select/

オプションに異なるテキストがありますが、値は選択したアイテムの価格を表しているため、同じにすることができます。

<select>
  <option value="0">Red</option>
  <option value="0.23">Green</option>
  <option value="0.23">Blue</option>
</select>

私の問題は、値が同じ場合、jQuery が change イベントを発生させないことです。値が異なっていても問題なく動作します。テキスト文字列をテストして、独自のイベントリスナーを作成できると思いましたが、どうすればよいですか? または、誰かがより良いアイデアを持っていますか?

4

2 に答える 2

1

使用できる回避策は、データ属性を使用することです。選択を以下のようなものに変更します

<select>
  <option data-value="0" value='Red'>Red</option>
  <option data-value="0.23" value='Green'>Green</option>
  <option data-value="0.23" value='Blue'>Blue</option>
</select>

次に、バインドして変更します

$('select').on('change', function(){
    var val = $(this).data('value');
});

このようにして、変更イベントがトリガーされます。データ属性を介して値を取得するだけで済みます。

于 2013-06-11T10:41:27.097 に答える
0

「blur」イベントにバインドして、フォーカスを失ったときに選択の値を確認できます(これは、クリックしてフォーカスを与え、その後他の場所をクリックすると発生します(またはタブインしてタブを離します))。

于 2013-06-11T10:43:06.450 に答える