回调问题-jquery

时间:2011-05-30 14:40:02

标签: javascript jquery slider

我正在使用此plug in。一切运作良好,但现在我需要做出改变。 回调始终是最后一个条件 - else,为什么?

这种情况例如永远不会奏效。任何语法错误?

($("#amount").val(value) == 400)

脚本

 <script type="text/javascript" charset="utf-8">
     jQuery("#SliderSingle").slider({
         from: 400,
         to: 2000,
         step: 200,
         round: 1,
         dimension: '&nbsp;€',
         scale: ['-400€', '600€', '800€', '1000€', '1200€', '1400€', '1600€', '1800€', '+2000€'],
         callback: function(value) {
             if ($("#amount").val(value) == 400) { //not working
                 alert("nop");
                 $(html("-400 sdf"));
             }
             else if ($("#amount").val(value) == 2000) {  //not working
                 alert("nopp");
                 $(html("+2000 dfs"));
             } else {
                 $(html(value)); //always working even if the value chosen is 400 or 2000
             }
         }
     });
 </script>

3 个答案:

答案 0 :(得分:2)

看起来你想要这个:

function(value) {
    if (value == 400) {
        alert("nop");
        $(html("-400 sdf"));
    }
    else if (value == 2000) { 
        alert("nopp");
        $(html("+2000 dfs"));
    } else {
        $(html(value)); //always working even if the value chosen is 400 or 2000
    }
}

虽然$(html("-400 sdf"));不起作用。除非您已定义html()函数

答案 1 :(得分:1)

试试这个:

($("#amount").val() == 400)

$("#amount").val(value)

您将#amount的值设置为变量“value”,这将再次返回元素#amount。

要在一行内完成,您可以使用以下内容:

($("#amount").val(value).val() == 400)

答案 2 :(得分:1)

这是因为你这样做:

if ($("#amount").val(value) == 400)

执行.val()会返回amount元素,而不是您刚刚设置的值。

可以这样做:

if ($("#amount").val(value).val() == 400)