2012-10-05 21 views
0

我需要一些幫助,當涉及到與相關按鈕顯示正確隱藏的輸入與將隱藏輸入與按鈕關聯時,下面的代碼是否可用?

我有其中您可以查看here

請按照以下步驟來使用應用程序的應用程序:

  1. 點擊「Open Grid」鏈接並選擇按鈕「5」,你會在下面看到5個按鈕「AE」。
  2. 點擊按鈕'A'和'C',這些按鈕會變成綠色,表示它們已被打開。
  3. 現在點擊「添加問題」按鈕,將您已完成的操作添加到下面的表格行中。
  4. 現在請重複步驟1-3,但這次選擇按鈕「7」,所以你會看到按鈕「A-G」,並點擊按鈕'B','D'和'F',以便打開這些按鈕。

現在您會看到有兩個表格行,第一個表格行的按鈕'A'和'C'打開,第二行的按鈕'B','D'和'F'打開。

現在我想要做的只是發佈(使用$ _POST方法)只打開的按鈕。現在我發現你不能使用$ _POST方法發佈按鈕,但是你可以做的是爲每個按鈕創建隱藏的輸入字段併發布它們,如果按鈕處於打開狀態,那麼隱藏輸入的值爲1,如果它關閉,那麼值爲0.

但我不確定我是否正確編碼,所以我的問題是,有人可以查看下面的代碼,並說明我的代碼如下,將做這項工作,或需要一些調整,以便它工作?林擔心隱藏的輸入不符合相關的按鈕正確的:

現在下面是輸出信按鈕及其隱藏頂部的選項輸入,並回答控件的代碼:

<table id="optionAndAnswer" class="optionAndAnswer"> 
    <tr> 
     <table id="answerSection"> 
      <tr> 

     <?php 
      $i = 1; 
      foreach($a as $key => $val){ 
       if($i%7 == 1) echo"<tr><td>"; 
       echo"<input type=\"button\" onclick=\"btnclick(this);\" value=\"$val\" id=\"answer".$val."\" name=\"answerName[$val]\" class=\"answerBtns answers answerBtnsOff\">";  
       echo"<input type=\"hidden\" value=\"0\" id=\"hiddenAnswer".$val."\" name=\"hidden[$val]\" class=\"offButtons\">"; 
       if($i%7 == 0) echo"</td></tr>"; 
       $i++; 
      } 
     ?> 
      </tr> 
      <tr> 
     <td> 
     <input class="answerBtns answers answerBtnsOff" name="answerName[True]" id="answerTrue" type="button" value="True" onclick="btnclick(this);"/> 
     <input class="offButtons" name="hidden[True]" id="hiddenAnswerTrue" value="0" type="hidden"/> 
     <input class="answerBtns answers answerBtnsOff" name="answerName[False]" id="answerFalse" type="button" value="False" onclick="btnclick(this);"/> 
     <input class="offButtons" name="hidden[False]" id="hiddenAnswerFalse" value="0" type="hidden"/> 
     <input class="answerBtns answers answerBtnsOff" name="answerName[Yes]" id="answerYes"  type="button" value="Yes"  onclick="btnclick(this);"/> 
     <input class="offButtons" name="hidden[Yes]" id="hiddenAnswerYes" value="0" type="hidden"/> 
     <input class="answerBtns answers answerBtnsOff" name="answerName[No]" id="answerNo"  type="button" value="No"  onclick="btnclick(this);"/> 
     <input class="offButtons" name="hidden[No]" id="hiddenAnswerNo" value="0" type="hidden"/> 
     </td> 
     </tr> 
     </table> 
     </td> 
     </tr> 
     </table> 

下面是代碼它輸出從頂部控制信按鈕和隱藏的輸入,並追加到錶行(用戶可以在一個錶行,如果他們希望開啓和關閉字母按鈕):

function insertQuestion(form) { 

       var context = $('#optionAndAnswer'); 
     var currenttotal = context.find('.answerBtnsOn').length;   



     var $tbody = $('#qandatbl > tbody'); 
     var $tr = $("<tr class='optionAndAnswer' align='center'>"); 
     var $td = $("<td class='extratd'>"); 
     var $answer = $("<div class='answer'>3. Answer:<br/></div>"); 

     var $this, $row, $cell; 
     $('#optionAndAnswer .answers').each(function(i, v) { 
      $this = $(this); 
      if(i%7 == 0) { 
       $row = $("<tr/>").appendTo($answer); 
       $cell = $("<td/>").appendTo($row); 
      } 

      var v = $this.val(); 
      var a = { name:$this.attr('name'), value:$this.val(), class:$this.attr('class'), id:$this.attr('id')+'Row' }; 
      var h = $this.is(':visible')?'inline-block':'none' 
      var $newBtn = $("<input type='button' style='display:" + h + "' onclick='btnclick(this);' />").attr(a); 

      var $newHdn = $("<input type='hidden' value='0' id='hiddenAnswer" + v + "' name='hidden[" + v + "]' class='offButtons' />"); 

      $newBtn.appendTo($cell); 
      $newHdn.appendTo($cell); 
     }); 


     $tr.append($td); 
     $td.append($answer); 
     $tbody.append($tr); 



    } 

最後下面是代碼它打開和關閉字母按鈕和它們相關的隱藏輸入:

function btnclick(btn) 
    { 
     var context = $(btn).parents('#optionAndAnswer'); 
     if (context.length == 0) { 
      context = $(btn).parents('tr'); 
     } 
     var $btn = $(btn); 
     var value = btn.value; 

    $(btn).toggleClass("answerBtnsOff"); 
    $(btn).toggleClass("answerBtnsOn"); 

     var hiddenId = '#hiddenAnswer'+btn.value; 
     if ($(btn).hasClass("answerBtnsOff")) 
     { 
      $(hiddenId).val('0'); 
      $(hiddenId).toggleClass('offButtons'); 
      $(hiddenId).toggleClass('onButtons');  
     } 
     else 
     { 
      $(hiddenId).val('1'); 
      $(hiddenId).toggleClass('onButtons'); 
      $(hiddenId).toggleClass('offButtons'); 
     } 

     $('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : 0); 

     return false; 
    } 

回答

0

我通常會在測試時將隱藏輸入變爲文本輸入,以便我可以看到值是多少。您可以使用Chrome JS控制檯,您可以在其中輸入一些JS,如$(「#input_id」)。val();你會得到價值

相關問題