2013-07-06 43 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/