2013-07-06 41 views
0

我無法自定義其中一個生成的php,我想顯示隱藏的文本字段,用戶可以在複選框後輸入數據。如何在複選框後添加隱藏文本區域

[ ] Data A 
[x] Data B [Text Field Area for User to keyin] 
[ ] Data C 

複選框數據被取出從表如下

<tr> 
    <td class="ewTableHeader"> 
     <span>Damaged Item</span> 
    </td> 
    <td class="ewTableAltRow"> 
     <span id="cb_x_DamagedItem"> 
     <?php 
      $sSqlWrk = "SELECT `DamegeItemID`, `DamageItemDesc` FROM `acc_damageitem`"; 

      $rswrk = phpmkr_query($sSqlWrk,$conn) or die("Failed to execute query at line " . __LINE__ . ": " . phpmkr_error($conn) . '<br>SQL:' . $sSqlWrk); 

      $x_DamagedItemChk = ""; 
      $rowcntwrk  = 0; 
      $rowswrk   = phpmkr_num_rows($rswrk)-1; 

      while ($datawrk = phpmkr_fetch_array($rswrk)) 
      { 
      $x_DamagedItemChk .= RenderControl($rowswrk, $rowcntwrk, 1, 1); 
      $ar_x_DamagedItem = explode(",", @$x_DamagedItem); 

      $x_DamagedItemChk .= "<input type=\"checkbox\" name=\"x_DamagedItem[]\" value=\"" . htmlspecialchars(@$datawrk[0]) . "\""; 

      foreach ($ar_x_DamagedItem as $cnt_x_DamagedItem) 
      { 
       if ($datawrk[0] == trim($cnt_x_DamagedItem)) 
       { 
       $x_DamagedItemChk .= " checked"; 
       break; 
       } 
      } 
      $x_DamagedItemChk .= ">" . $datawrk[1] . RenderControl($rowswrk, $rowcntwrk, 1, 2); 

      $rowcntwrk++; 
      } 
      echo $x_DamagedItemChk; 
     ?> 
     </span> 
    </td> 
</tr> 

任何建議非常感謝。提前致謝。

+0

您可能已加載它隱藏和顯示上檢查與JS,或通過Ajax和JS再重新裝上檢查 – 2013-07-06 04:12:19

+0

這需要使用JavaScript來完成。你有沒有嘗試過任何JavaScript代碼來做到這一點? – vee

回答

2

如果您可以使用CSS,當未勾選複選框時,您可以隱藏textarea。

<style> 
    input:not(:checked) ~ textarea { 
    display: none; 
    //or visibility: hidden; 
    } 
</style> 
<input type="checkbox"> 
Data A 
<textarea></textarea> 
<input type="checkbox"> 
Data B 
<textarea></textarea> 
<input type="checkbox"> 
Data C 
<textarea></textarea> 

http://jsbin.com/ozucoj/1/