ユーザーがページをロードすると、ページ上にドロップダウンリストを動的に生成しています。jqueryまたはjavascriptを使用してドロップダウンの値を取得したいと思います。
トリッキーな部分は、ドロップダウンに「ウサギが大好き($ 19.95)」というような値が設定されることです。
ドロップダウンの値を取得してから、角かっこ内の値を分離したいと思います。何か案は?
乾杯!
ユーザーがページをロードすると、ページ上にドロップダウンリストを動的に生成しています。jqueryまたはjavascriptを使用してドロップダウンの値を取得したいと思います。
トリッキーな部分は、ドロップダウンに「ウサギが大好き($ 19.95)」というような値が設定されることです。
ドロップダウンの値を取得してから、角かっこ内の値を分離したいと思います。何か案は?
乾杯!
値の取得は簡単です。を使用してval()
ください。それは文字列になります。
次に、おそらくキャプチャグループを使用して、正規表現を使用して値を取得します。例えば:
var value, m, innerValue;
value = $("selector for select box").val();
m = /\(([^)]+)/.exec(value);
if (m) {
innerValue = m[1];
}
その正規表現は次のように述べています。「を見つけて(
、それに続くすべてのものをキャプチャします。」ではありません)
。次に、キャプチャグループの値を取得します。
次の形式で選択することはできませんでした:
<select name="opinions_price">
<option value="19.45">I love rabbits (£19.45)</option>
<option value="12.45">I hate parakeets (£12.45)</option>
<option value="3.24">I am indifferent to possums (£3.24)</option>
</select>
次に、単純に次のようにします。
var price = $('select option:selected').val();
代わりにデータ属性を使用する場合(選択がループ内にあると仮定すると、その方法を知っています):
<select name="opinions_price">
<?php foreach($things as $thing) { ?>
<option data-price="<?php echo $thing['price']; ?>" data-id="<?php echo $thing['id']; ?>">[..]</option>
<?php } ?>
</select>
次に、単純に次のようにします。
var price = $('select option:selected').data('price');
var id = $('select option:selected').data('id');
(おそらく)高価な正規表現を節約しますか?