2011-12-23 13 views
0

現在、iOS風のオン/オフスライダがあり、その値を1または0の値を隠しHTMLフィールドに戻したいと考えています。Javascript関数の戻り値スライダ

JavaScriptは次のようになります。

$(document).ready(function(){ 
     initCheckBoxes(); 
    }); 

    var slideSpeed = 150; 
    var leftDist = 42; 

    function initCheckBoxes() 
    { 
     $(".cb-slider").draggable({containment: "parent"}); 
     $(".cb-slider").mouseup(function(){ 

      var status = $(this).attr("cb-status"); 

      switch(status) 
      { 
      case "0": 
       //its off, slide it by 41px; 
       $(this).animate({left: leftDist}, slideSpeed); 
       //change status to 1 
       $(this).attr("cb-status", "1"); 

      break; 

      case "1": 
       //its on, slide it to 0px; 
       $(this).animate({left: "0"}, slideSpeed); 
       //change status to 0 
       $(this).attr("cb-status", "0"); 

      break; 
      } 
    }); 


} 

そして、私はと心配値はvar statusです。

この値を返す方法はわかりません。

答えて

0

値を「返す」のではなく、非表示フィールドの値を変更したいと思うようです。 mouseUpイベントにこれを追加:#hiddenは隠し入力フィールドの選択である

$('#hidden').val(status); 

+0

あなたの方法では、$( '#hidden').val(status)を追加する必要があります。 Jako

+0

はい、そうです。 – JJJ

0

この機能は、セレクタ$(".cb-slider")によって一致するすべての要素に適用されます。最後に変更したスライダの選択した値を共有場所に保存してもよろしいですか?

フォームを送信するときにスライダのサーバー側の値にアクセスしたいと思っています。その場合、あなたはスライダーを互いに区別し、どのスライダーを区別するかという独自の識別が必要になります。

UPDATE jsFiddleでのプラグインの例を作成しまし

、それをチェックアウト。