2012-03-14 20 views
0

私はフォームタグ内にあるjquery推定プログラムで作業しています。私が終わったら、これはかなり大きなスクリプトになります。多くのタスクの中で、私はグループ内に約50個のチェックボックスを持っています。チェックされると、それはUIスライダを一歩前進させます。ボックスのチェックを外すと、スライダーの後ろにステップが進みます。jQueryと変数と関数の使用

ラジオボタンをクリックするまでチェックボックスが非表示になるまで、ボックスはすべて非表示になっています。同時にチェックボックスがチェックされ、スライダに番号が返されます。

私はボックスがチェックされるかチェックされなくなるたびに合計推定価格を調整する機能も持っています。

感覚これはフォームです...私はフォームからすべての情報を抽出し、ウェブサイトの所有者に電子メールを送るcontact.phpファイルを持っています。

は今、大きな問題は、私が50個のチェックボックス...

HTML

<input type="checkbox" id="R_C-helpPage01" name="helpPage01" value="helpPage01" class="R_C R_C-width20" /> 
    <label id="R_C-helpPage01" class="W_E"></label> 

    <input type="checkbox" id="R_C-helpPage02" name="R_C-helpPage02" value="helpPage02" class="R_C R_C-width20" /> 
    <label id="R_C-helpPage02" class="R_C"></label> 

    <input type="checkbox" id="R_C-helpPage03" name="R_C-helpPage03" value="helpPage03" class="R_C R_C-width20" /> 
    <label id="R_C-helpPage03" class="R_C"></label> 

のサンプルVARのいくつかのサンプルを持っている.......です

var helpPage01 = 'Home Page'; 
var helpPage02 = 'About Us'; 
var helpPage03 = 'Our Services'; 
var helpPage04 = 'Contact Us'; 

聞くが、私はこれらすべてのチェックボタンがでちょうどこの機能を使用可能にする方法のわからない主な機能でありますチェックボックスごとに機能の50個のコピーを作成する必要があります。今あるよう

私の最初の推測では...

$('#And 47 more ID's, #helpPage03, #helpPage02, #helpPage01').click(function() 
                   and bla bla bla 

機能以下のようなものである

  $helpPage.click(function() { 
    if ($pages.val() == 20) { 
    alert('Please call for a bulk estimate: ' + phoneNumber); 
      return false; 
      } 

if ($helpPage.is(':checked')) 
      { 
    var s = $pageSlider, 
      val = s.slider("value"), 
      step = s.slider("option", "step"); 
      s.slider("value", val + step); 
      $pages.val(("value", val + step)); 
      $amount.val([("value", val + step) * pageAmount]/[$daySlider.slider("value")]); 
      $slideCalc.click(); 
      } 

else { 
      var s = $pageSlider, 
      val = s.slider("value"),     
      step = s.slider("option", "step");     
      s.slider("value", val - step);   
      $pages.val(("value", val - step));   
      $amount.val([[("value", val - step) * pageAmount]/$daySlider.slider("value")]]); 
      $slideCalc.click(); 
      }     
    }); 

もっと

$('#R_C-helpPage01').html(helpPage01 + '<br />'); 
    $('#R_C-helpPage02').html(helpPage02 + '<br />'); 
    $('#R_C-helpPage03').html(helpPage03 + '<br />'); 
      $('#R_C-helpPage04').html(helpPage04 + '<br />'); 

あなたが作るより多くの情報が必要な場合それに合理的な刺し傷は、私に知らせてください。それぞれについて、

+0

を使用する必要があり、代わりにあなたのヘルプページのために50種類の変数を定義する、クラス「helpcb」も

$('input[type="checkbox"].helpcb').click(function(e){ var id = $(this).attr('rel'); // This will extract the "rel" attribute of the checkbox that was checked // do other stuff }); 

を持っているすべてのチェックボックスを選択します構文エラーがたくさんある。 – elclanrs

+0

私は構文エラーをチェックする様々な方法を掘り下げていません...私はそれを調べなければなりません。これは私が試みた最初のjqueryスクリプティングであり、まだ学習しています。ヘッドアップをありがとう。 –

答えて

1

あなたは余分なREL属性および追加クラス今

<input type="checkbox" rel="1" id="R_C-helpPage01" name="helpPage01" value="helpPage01" class="R_C R_C-width20 helpcb" /> 
    <label id="R_C-helpPage01" class="W_E"></label> 

    <input type="checkbox" rel="2" id="R_C-helpPage02" name="R_C-helpPage02" value="helpPage02" class="R_C R_C-width20 helpcb" /> 
    <label id="R_C-helpPage02" class="R_C"></label> 

    <input type="checkbox" rel="3" id="R_C-helpPage03" name="R_C-helpPage03" value="helpPage03" class="R_C R_C-width20 helpcb" /> 
    <label id="R_C-helpPage03" class="R_C"></label> 

を追加する必要があり、代わりにチェックボックス要素を50回結合の、あなただけのセレクターを使用して、すべてのチェックボックスをバインドすることができますチェックボックス1つの機能に以下のコードは、あなたのスクリプトのjslintを行い、アレイ

var helpPage = ['About Us', 'Contact Us', 'Other page']; 
alert(helpPage[1]); // Alerts 'contact us' 
+0

いいですね....私はそのように設定します。チェックボックス以外にもたくさんのことが起こっていますが、うまくいけばそれ以外のものを混乱させることはないでしょう。私が恐れているのは連絡先です。PHPページがチェックボックス名とその値を電子メールフォームに抽出できません。ところであなたの時間をありがとう。私はjqueryを学んでいるので、私は他の障害があると確信しています。 –

+0

私は他のものに関連する同じフォームの他のチェックボックスを持っています......入力タイプのチェックボックスをオンにすると、これはフォーム内にある可能性のある他のチェックボックスにも影響しませんか? –

+0

答えを更新しました。各チェックボックスに「helpcb」クラスを追加することで、フォーム内の他のチェックボックスと競合することなく簡単に選択することができます。 – peter

関連する問題