选中复选框后如何添加隐藏的TextArea

时间:2013-07-06 04:09:21

标签: php javascript

我很难定制其中一个生成的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>

真的很感激任何建议。提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果您可以使用CSS,则可以在未选中复选框时隐藏文本区域。

<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/