在MySQL数据库中,我有一个项目表,其中包含项目的ID,名称和默认价格。我希望有一个表格,其中包含表格中所有项目的下拉菜单,用于将输入字段中的价格更改为所选项目的默认价格。我将如何使用Javascript进行此操作?提前谢谢。
答案 0 :(得分:2)
HTML:
<select>
<option>Select an item</option>
<option data-price="20.00" value="1">Item 1</option>
<option data-price="15.00" value="2">Item 2</option>
<option data-price="24.00" value="3">Item 3</option>
</select>
<input type="text" id="price">
JavaScript(使用jQuery):
$('select').on('change', function() {
$("select option:selected").each(function () {
$('#price').val('$' + $(this).attr('data-price'));
});
});
看一下这个jsFiddle的工作示例:http://jsfiddle.net/chnUn/
答案 1 :(得分:0)
使用jQuery,您可以执行以下操作:
$("#DropDownId").change(function ()
{
var selectedItem = $(this).val();
if (selectedItem != null && selectedItem != '')
{
$("#InputId").val(selectedItem);
}
});
答案 2 :(得分:0)
获取您需要在服务器上显示的所有内容(最好使用JSON)
并生成这样的select
元素..
<select id="mySelect">
<option name="item1ID" defaultPrice="defaultPrice1" >ItemName1</option>
<option name="item2ID" defaultPrice="defaultPrice2" >ItemName2</option>
<option name="item3ID" defaultPrice="defaultPrice3" >ItemName3</option>
<option name="item4ID" defaultPrice="defaultPrice4" >ItemName4</option>
<option name="item5ID" defaultPrice="defaultPrice5" >ItemName5</option>
</select>
您可以获得默认价格,如
$("#mySelect").on('change',function(){
alert($(this).attr('defaultPrice');
});
答案 3 :(得分:0)
你的服务器端语言是什么?
我会做这样的事情:
<script language="javascript">
var items = new Array();
<?
$res = mysql_query("SELECT id, name, price FROM ITEM_TABLE");
while($item_object = mysql_fetch_object($res)) {
?>
items[<? echo $item_object->id; ?>] = "<? echo $item_object->price; ?>";
('#item_drop_down').append('<option value=' + <? echo $item_object->id; ?> + '>' + <? echo $item_object->name; ?> + '</option>');
<?
}
?>
('#item_drop_down').Change('#item_price_input').text(items[('#item_drop_down').value()]);
</script>
其中下拉列表为item_drop_down,您希望价格输入为item_price_input。
答案 4 :(得分:0)
创建选择下拉菜单,如下所示 其中期权价值=商品的价格
<select name="item_list" id="item_list" onchange="update_txt()">
<option value="">Select item</option>
<option value="10"> item1</option>
<option value="20">item2</option>
</select>
<input type="text" id="item_price" value="">
JS:
function update_txt(){
price = document.getElementById('item_list').selectedIndex.value;
document.getElementById('item_price').value = price;
}