-1

価格、モデル、ブランドの対象車があります。これを選択で表示したい。

次のような選択があります。

<select>
    <option>Ford Mustang 30000</option>
    <option>Alfa Romeo giuletta 25000</option>
</select>

選択したオプションの価格を取得するにはどうすればよいですか? したがって、オプションを選択すると、オプションのすべての詳細(ブランド、モデル、価格)を取得できます

var brand = ...
var model = ...
var price = ...

JSONObject を試して toString() メソッドをオーバーライドしましたが、JSONObject に戻すことはできません。

ご協力ありがとうございました

4

3 に答える 3

2

html5data-属性を使用してオプション自体に関する情報を保存し、js を使用してアクセスすることができます。

<select id="cars">
<option data-brand='Ford' data-model='Mustang' data-price='30000'>Ford Mustang 30000</option>
</select>

jsでは

var $selected_car = $('#cars :selected'); 
var brand = $selected_car.data('brand');
var model = $selected_car.data('model');
var price = $selected_car.data('price');
于 2012-10-24T14:23:37.777 に答える
1

HTML5 を使用している場合は、data属性を使用できます。例えば:

<select>
    <option value="30000" data-brand="Ford" data-model="Mustang">Ford Mustang 30000</option>
    <option value="25000" data-brand="Alfa Romeo" data-model="Giulietta">Alfa Romeo giuletta 25000</option>
</select>

次に、コードでこれらを選択できます。

$("select").change(function() {
    var $select = $(this);
    var $option = $("option:selected", $select)

    var brand = $option.data("brand");
    var model = $option.data("model");
    var price = $select.val();

    // do your thing...
});
于 2012-10-24T14:25:30.107 に答える
0

html5 を使用していない場合は、各オプションの値属性ですべてのデータをエンコードできます。

<option value="{'brand':'Ford','model':'Mustang','price':'$30,000'}">Ford Mustang</option>

$("select").change(function() {
    var $select = $(this);
    var $option = $("option:selected", $select)
    var data = jQuery.parseJSON($option.value);

    var brand = data.brand;
    var model = data.model;
    var price = data.price;

    // do your thing...
});
于 2012-10-24T15:29:14.563 に答える