仅在选中“复选框”时才显示POST值

时间:2017-03-01 10:59:48

标签: php html

我有一个带有来自mysql数据库的id的表。在表格的每一行中都有一个复选框和一个输入type="number"。如果选中复选框,我可以通过POST发送id。
现在我的问题:输入的数量总是发送。但我希望得到正确的行数。

table td{
  border: 1px solid black;
}

thead td {
  border-bottom: 3px solid black;
}
<table>
  <thead>
    <tr>
      <td>id</td>
      <td>checkbox</td>
      <td>number</td>
    </tr>
    
  <tbody>
    <tr>
      <td>1</td>
      <td><input type="checkbox" name="checkbox[]" value="1">
      <td><input type="number" name="number[]" min="0" max="10" step="1" value="0"></td>
    </tr>
    
    <tr>
      <td>2</td>
      <td><input type="checkbox" name="checkbox[]" value="2">
      <td><input type="number" name="number[]" min="0" max="10" step="1" value="0"></td>
    </tr>
    
    <tr>
      <td>2</td>
      <td><input type="checkbox" name="checkbox[]" value="3">
      <td><input type="number" name="number[]" min="0" max="10" step="1" value="0"></td>
    </tr>
  </tbody>
</table>


<h1>Output in other PHP file should be:</h1>
<h3>Just say, we are checking 1 and 3. Number 1 = 4; Number 2=1; Number 3=2</h3><br>

<p>array"number": [0] => 4; [3] => 2</p>
<p>array"checkbox": [0] => 1; [2] => 3</p>

<h1>But my print_r shows (what is clear ...)</h1>
<p>array"number": [0] => 4, [1] => 1 ,[2] => 2  --- See my problem?</p>
<p>array"checkbox": [0] => 1, [3] => 3</p>

对于不明确的问题等,对不起。希望你能理解我。
感谢。

1 个答案:

答案 0 :(得分:1)

您最初可以禁用文本框,当选中该复选框时,您可以启用文本框并输入您的值。禁用的输入字段不会发布。您可以查看以下代码,它可能会对您有所帮助

$(document).ready(function(e) {
    $("input[type=checkbox]").click(function(e) {
        if($(this).prop('checked') == true)
			$(this).parent().siblings('td').find('input').removeAttr('disabled');
	    else
		    $(this).parent().siblings('td').find('input').attr('disabled','disabled');		
		
    });
});
table td{
  border: 1px solid black;
}

thead td {
  border-bottom: 3px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form action="welcome.php" method="post" >
<table>
  <thead>
    <tr>
<td>id</td>
      <td>checkbox</td>
      <td>number</td>
    </tr>
    
  <tbody>
    <tr>
      <td>1</td>
      <td><input type="checkbox" name="checkbox[]" value="1">
      <td><input type="number" name="number[]" min="0" max="10" step="1" value="0" disabled></td>
    </tr>
    
    <tr>
      <td>2</td>
      <td><input type="checkbox" name="checkbox[]" value="2">
      <td><input type="number" name="number[]" min="0" max="10" step="1" value="0" disabled></td>
    </tr>
    
    <tr>
      <td>2</td>
      <td><input type="checkbox" name="checkbox[]" value="3">
      <td><input type="number" name="number[]" min="0" max="10" step="1" value="0" disabled ></td>
    </tr>
  </tbody>
</table>
<input type="submit" value="go">
</form>