2011-05-30 188 views
0

我正在使用這個plug in。一切運作良好,但現在我需要做出改變。 回調總是做出最後一個條件 - else,爲什麼?回調問題-jquery

這種情況例如從來沒有工作。任何語法錯誤?

($("#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> 

回答

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()函數

+0

確切地說,就是我假裝的。謝謝 – anvd 2011-05-30 15:01:17

1

試試這個:

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

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

要設置#amount變量 「值」 的值,這將再次返回元素#amount。

一個行內做到這一點,你可以使用以下命令:

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

這是因爲你這樣做:

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

做.VAL()返回量元素,而不是你剛剛設定的價值。

可以做到這一點:

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