Javascript 我想从选项中获得的不同值

Javascript 我想从选项中获得的不同值,javascript,jquery,html,json,select,Javascript,Jquery,Html,Json,Select,我有一辆标的车,有价格、型号和品牌。我想在一个选择中显示这个 我有一个选择,看起来像这样: <select> <option>Ford Mustang 30000</option> <option>Alfa Romeo giuletta 25000</option> </select> 我尝试使用JSONObject并重写toString()-方法,但之后无法将其转换回JSONObject 感谢您的帮助您可

我有一辆标的车,有价格、型号和品牌。我想在一个选择中显示这个

我有一个选择,看起来像这样:

<select>
    <option>Ford Mustang 30000</option>
    <option>Alfa Romeo giuletta 25000</option>
</select>
我尝试使用JSONObject并重写toString()-方法,但之后无法将其转换回JSONObject


感谢您的帮助

您可以使用html5的
data-
属性存储选项本身的信息,然后使用js访问它

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

如果您使用的是HTML5,那么您可以使用
数据
属性。例如:

<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>

如果您没有使用html5,那么可以在每个选项的value属性中对所有数据进行编码

<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...
});
福特野马 $(“选择”).change(函数(){ 变量$select=$(此变量); var$option=$($option:selected,$select) var data=jQuery.parseJSON($option.value); var brand=data.brand; var模型=data.model; var价格=数据价格; //做你的事。。。 });
这里有什么问题?什么是
JSONObject
?只需在car对象-ID中添加另一个字段。为每个对象指定一个唯一的ID,并将其指定为选项值。然后,当选择一个选项时,您可以进行查找。您可以执行事件do
$('select option:selected')
@azizpunjani确实,有很多方法可以剥下这只猫的皮。我选择了我所做的方式,因为我已经缓存了
$select
变量供以后使用。哈哈,事实证明你可以只做
$('select:selected')
,就像你说的,有很多方法可以实现它。
<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...
});
<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...
});