Jquery #div选项:选中的问题

时间:2011-09-10 06:52:24

标签: jquery

我似乎无法让这个工作,我找不到任何错误。以下是选择选项:

    <select id="elecspend">
        <option selected="selected" value="month">Monthly Spend</option>
        <option value="yearly">Yearly Spend</option>
        <option value="quarterly">Quarterly Spend</option>
        <option value="consumption">Yearly Consumption (kWh)</option>
    </select>
<div class="consumptext">Enter your monthly spend in here: </div>   <input style="width:    80px;" type="text">

这是jquery。

$(document).ready(function() {
$("#elecspend").change(function() {


    if($("#elecspend option:selected").attr('value') == 'monthly') {
        $(".consumptext").html("Please enter your monthly electricity spend");
    }
});
});

感谢您的帮助。 萨姆

4 个答案:

答案 0 :(得分:2)

您的选项中没有“月度”值。我想你想要“月”,你可以使用this.value来获得价值。尝试更改此内容:

if($("#elecspend option:selected").attr('value') == 'monthly')

到此:

if (this.value == 'month')

它在这里工作:http://jsfiddle.net/jfriend00/tFvtb/

答案 1 :(得分:0)

你把'月度'与'月'混为一谈。将Month条目的值更改为'monthly',然后使用以下代码:

$("#elecspend").change(alterPrompt);

function alterPrompt() {
    var selectedValue = $("#elecspend option:selected").attr('value');
    $(".consumptext").html("Please enter your "+ selectedValue +" electricity spend");
}
alterPrompt();

答案 2 :(得分:0)

你可以做到

if ($("#elecspend").val() == "month")

而不是

if($("#elecspend option:selected").attr('value') == 'monthly')

请参阅val的API文档。这是一个jsFiddle example

答案 3 :(得分:0)

你不能使用this.value

未来的提示,您已经在改变中找到#elecspend,您可以使用:

$("option:selected", this)

女巫是一个更快的选择。