jQuery根据下拉列表选项更改文本

时间:2013-02-20 14:36:15

标签: javascript jquery forms

您好我正在寻找有关如何根据客户从下拉菜单中选择的帐户类型更改利率值的指导。

形式:

<form id="account" action="" method="post">
<select id = "acc_type">
<option value="current">Current</option>
<option value="savings">Savings</option>
</select>

<input type="text" id="interest" value="">

</form>

<script>
$("#account").change(function() {
    var rate = "0.6%";
    if $(#acc_type).val == ("current") {
        rate = "0.6%");
    } else if $(#acc_type).val == ("savings") {
        rate = "0.8%");
    }
    $(#interest).val = rate;
</script>

http://jsfiddle.net/rmjKV/ 我可以解释为什么这不起作用吗?

6 个答案:

答案 0 :(得分:1)

它不起作用,因为那不是有效的JavaScript。使用JSLInt之类的工具检查代码以查看错误。

您在该代码中遗漏了许多()

查看if statements on MDN

if (cipher_char == from_char) {
   result = result + to_char;
   x++;
} else {
   result = result + clear_char;
}

你看到你错过了什么吗?检查周围的(和)。

现在jQuery val是一个方法,你不是在调用方法。你需要 ()。你也不能设置.val。

docs for jQuery val()

您的选择器也错了,您缺少引号。

学习使用您的控制台!它会告诉你错误。

答案 1 :(得分:1)

你有很多语法错误和使用jQuery函数和选择器的不正确方法

$("#account").change(function() {
    var rate = "0.6%";
    if($('#acc_type').val() == "current") 
    {
        rate = "0.6%";
    }
    else if ($('#acc_type').val() == "savings") 
    {
        rate = "0.8%";
    }
    $('#interest').val(rate);
});  

您需要阅读有关JS语法和jQuery选择器和函数的更多信息

检查小提琴更新 http://jsfiddle.net/sedz/rmjKV/2/

答案 2 :(得分:0)

JSHint不验证您的代码。除此之外,您似乎绑定了form更改而不是acc_type更改。

$("#acc_type").change(function() {

}

有效的JS代码:

$("#acc_type").change(function()
{
   var rate = "0.6%";
   if ($("#acc_type").val() == "current")
   {
      rate = "0.6%";
   } else if ($("#acc_type").val() == "savings")
   {
      rate = "0.8%";
   }

   $("#interest").val(rate);
});

http://jsfiddle.net/rmjKV/5/

答案 3 :(得分:0)

这样的东西

$(#acc_type)

应该是

$('#acc_type')

答案 4 :(得分:0)

您的代码中存在大量错误。我想我已经解决了大部分问题。

我还将代码包装在jquery的ready函数中,因此脚本不会尝试在页面完全加载之前添加事件等。

$(document).ready(function() {
    $('#account').change(function() {
        var rate = "0.6%";
        if ($('#acc_type').val() == "current") {
            rate = "0.6%";
        } else if ($('#acc_type').val() == "savings") {
            rate = "0.8%";
        }
        $('#interest').val(rate);
    })
})

答案 5 :(得分:-1)

$("#acc_type").change(function() {
    var rate = "0.6%";
    if ($('#acc_type').val() == "current") {rate = "0.6%";}
    else if ($('#acc_type').val() == "savings") {rate = "0.8%";}
    $('#interest').val(rate);
});

在这里http://jsfiddle.net/rmjKV/8/找到你的jsFiddle工作,你的旧代码充满了拼写错误