需要一些小帮助来更改所选选项的数据。
数据首先从JSON结果填充到下拉选项列表,同样的JSON是需要更改的第二个数据,从下拉列表中选择选项。
我希望操作系统在选择商店时更改价格。
这是我的javascript代码:
$(function() {
var pricestore = [{"product_id":"1","store_id":"1","price":"120.00","sequence":"0","id":"1","parent_id":"0","name":"Store 1","email":"store1@store1.com"},{"product_id":"1","store_id":"2","price":"140.00","sequence":"0","id":"2","parent_id":"0","name":"Store 2","email":"store2@store2.com"}];
$.each(pricestore, function(i, option) {
$('#sel').append($('<option/>').attr("value", option.id).text(option.name));
}),
//Trying to populate the price on div id
$$('#price-store').each(function(el) {
el.innerHTML = pricestore;
});
})
这是获取数据的HTML
<select id="sel"></select>
<div id="price-store"></div>
这里也是关于jsfiddle
的一个例子感谢任何帮助。
答案 0 :(得分:1)
检查: -
根据我对您的问题的理解,您需要在下拉值更改时显示div中的价格。您可以使用以下方法。您需要在dropdown
上使用更改事件。
此方法使用所选选项元素的Index(),并从JSON
检索相应的记录。
$('#sel').change(function () {
$('#price-store').text(
pricestore[$('option:selected', this).index()].price);
});
另一种方法是在选项元素上使用data-attributes
来存储相应的价格,并在下拉值更改时检索它。
$('#sel').append($('<option>',
{
"value" :option.id,
"data-price" :option.price
}).text(option.name));
}),
$('#sel').change(function () {
$('#price-store').text($('option:selected', this).data('price'));
});
答案 1 :(得分:0)
您使用$$
选择div而不是$
。 $('#price-store')
传递给.each()
方法的函数的第二个参数是元素而不是第一个。 function(i, el) {
你为什么用.each()
作为一个div?
您必须格式化pricestore
中的数据才能将其显示在div中,否则您只能获得[Object object],[Object object]
。
答案 2 :(得分:0)
或者这个:
<div id="price-store"></div
<form>
<select id="price">
<option>120</option>
<option>140</option>
<option>160</option>
</select>
</form>
和
$('#price').change(function() {
$('#price-store').text($('#price').find(":selected").text());
});