根据下拉列表中的选择更改文本

时间:2014-08-02 03:27:16

标签: javascript html json

我已经用各种价格初始化了一个数组。价格与项目的给定大小10,30和120相关。我编写了一个脚本来根据下拉列表的值更改#pricing的值。

JS

var prices = {
    '10' : '5',
    '30' : '10',
    '120' : '15'
};

function updPrix() {
    var key = $("#size").val();
    $("#pricing").text(prices[key]);
}

HTML

<strong>Price: <span id="pricing"></span></strong> <br/><br/>
<select id="size" name="size" required="required" onchange="updPrix();">
    <option selected="selected" value="" disabled="disabled">Size</option>
    <option value="10">10mL</option>
    <option value="30">30mL</option>
    <option value="120">120mL</option>
</select>

不幸的是,它似乎没有做任何事情。我在这里错过了什么?它对我来说是正确的。

2 个答案:

答案 0 :(得分:1)

除非您使用window.onload = function(){}$(document).ready(function(){});使用updPrix()onchange,否则您在其他功能中运行上述JS应该有效,除非您function updPrix() { $("#size").on("change", function(){ var key = $(this).val(); $("#pricing").text(prices[key]); }); } 不再是全球性的,并且赢了& #39;在您的内联事件处理程序中工作。

如果是这种情况,请在您的函数中删除{{1}}属性并对其进行说明:

{{1}}

答案 1 :(得分:-1)

你没有得到那些被选中的值。试试这个:

var key = $("#size :selected").val();