2011-10-06 52 views
0

为了节省我对我的代码的其余部分进行大量的编辑,我想让复选框像文本框一样工作。是否可以检查复选框是否在其值中打勾?

我有以下文本框,如果一个数字大于0,那么它将项目添加到篮子。

<input type="textbox" 
     value="<? echo $item[qty]; ?>" 
     name="<? echo $productid."_".$product_quantity[id]."_".$product_option[id]; ?>" 
/> 

我该如何使复选框的行为方式相同?也就是说,如果打勾,它的值等于1,因此将其添加到我的购物篮中。如果它仍然未被选中,那么它的值等于0,因此被忽略。

<input type="checkbox" 
     value="<? echo $item[qty]; ?>" 
     name="<? echo $productid."_".$product_quantity[id]."_".$product_option[id]; ?>" 
/> 

我有几个这些复选框会在页面上。

+0

哪个事件要检查吗? – Astha

+0

@Astha刚刚更新了问题。 – Rob

+0

我不确定你的意思是...当$ item ['qty']等于true时,你想输出1吗?在这种情况下: etc etc /> –

回答

0

变化从value="<? echo $item[qty]; ?>"value="1"

价值在你的行动形成即wishlist.php:

if(isset($_POST["name_of_checkbox"])) { 
    //It means check box has been ticked 
    $myvalue = 1; 
} else { 
    //It means check box was not ticked 
    $myvalue = 0; 
} 

HTH


这是另一种方法的问题,也许这是你需要的。

我会介绍一个隐藏字段,它将存储/张贴0或1的值。我们将绑定一个事件,该复选框将更新隐藏输入的值。

<input name="my_cb" id="my_cb" type="checkbox" value="1" /> 
<input type="hidden" name="my_cb_hidden" id="my_cb_hidden" value="" /> 

<script type="text/javascript"> 
$("#my_cb").click(function() { 
    if($("#my_cb").is(":checked")){ 
     $("#my_cb_hidden").val($(this).val()); 
    } else { 
     $("#my_cb_hidden").val(0);  
    } 
    alert($("#my_cb_hidden").val());  
}); 

+0

刚刚更新了我的问题,使其更清晰,请参阅更新位 – Rob

+0

通过php做它是不可能的,因为PHP呈现服务器端,并且用户不能打勾或不勾选该阶段的复选框。我可以建议的另一个选项是使用JavaScript更改值。 –

+0

只要它像我提供的示例一样工作,它是如何实现的并不重要。 – Rob

0

你可以从

value="<? echo $item[qty]; ?>" 

复选框值的值更改为

value="1" 

那么如果检查然后提交它会自动保存1作为一种价值

编辑:

在PHP代码提交后做它,你更新你的问题

if(isset($_POST['checkbox name'])) 
{ 
    $item[qty] = 1; 
} 
else 
{ 
    $item[qty] = 0; 
} 

但这只会使价值的复选框保持的$项目阵列的价值inspite的变化。

+0

但是,这意味着无论是否打勾,它总是1。如果打勾,我希望它显示1,如果不打勾,则显示0。 – Rob

+0

看看它的唯一复选框是否有这个名字,然后提交表格时,如果它的勾号只有你会得到它在$ _POST或$ _GET,否则如果它没有检查,那么你将不会从这个名字得到任何价值,那么你可以手动分配0,因为那意味着它没有被检查。 – Astha

+0

刚刚更新了我的问题,使其更清楚,请参阅更新位。 – Rob

相关问题