我在检查复选框后如何获取隐藏输入框的值时遇到问题。这是我的代码。
<label class="control control--checkbox"><span>Additional</span>
<input type="checkbox" name="apply[]" value=""/>
<input type="hidden" name="option[]" value="1 bottle"/>
<input type="hidden" name="cost[]" value="$20"/>
</label>
<label class="control control--checkbox"><span>Additional</span>
<input type="checkbox" name="apply[]" value=""/>
<input type="hidden" name="option[]" value="3 bottle"/>
<input type="hidden" name="cost[]" value="$50"/>
</label>
我的Php代码:
<?php
$options = $_POST['option'];
$costs = $_POST['cost'];
$apply = $_POST['apply'];
if (isset($apply)) {
foreach ($options as $option) {
echo '<tr>';
echo '<td>'.$option.'</td>';
echo '</tr>';
}
}
?>
似乎我的php代码的选项总是两个,我只希望显示已经检查过但不显示不是。
有人可以告诉我如何解决这个问题或任何解决方法以获得相同的结果?
答案 0 :(得分:1)
使用PHP,您需要设置CheckBox值,然后才能找到其他值。
<input type="checkbox" name="apply[]" value="y"/>
<强> PHP 强>
$options = $_POST['option'];
$costs = $_POST['cost'];
$apply = $_POST['apply'];
if(isset($apply)) {
foreach ($options as $key => $option) {
if($option == 'y'){
echo $costs[$key];
echo $apply[$key];
}
}
}
使用jQuery,您可以获得隐藏值,如 -
$(function(){
$('.input_check').on("change", function(){
var chk = $(this).prop('checked');
if(chk == true){
var val = $(this).closest('label').find('.option').val();
console.log(val);
}
})
})