我的php代码中有一个动态输入,如下所示:
<input type="checkbox" id="advantage[]" name="advantage[]" value="Special Option" />
我需要知道它是否已被检查......我可以在代码中以相同的格式进行多次检查,我的大脑因为找不到解决方案而受伤!
感谢4的帮助!
答案 0 :(得分:1)
var isSpecialOptionSet = $("input[value='Special Option']:checked").length ? true : false;
// isSpecialOptionSet will now be true/false according to the state of the checkbox.
答案 1 :(得分:1)
var isChecked = $('input:checkbox[value="Special Option"]').is(":checked");
答案 2 :(得分:1)
客户端:
$('input[type=checkbox][name="advantage[]"][value="Special Option"]').is(':checked')
服务器端:
in_array('Special Option', $_POST['advantage'])
请注意,您不应多次使用相同的ID。
答案 3 :(得分:0)
如果您尝试确定是否在回发后检查了它,则复选框值数据仅在选中时才会在$ _POST中传递给服务器。否则,该值为空或为空。
如果您在回发之前尝试确定是否已经检查过,那么您需要在PHP中编写一些将在客户端处理的Javascript。
答案 4 :(得分:0)
您可以使用:已选中
答案 5 :(得分:0)
你可以这样做:
$(function(){
$('input[type="checkbox"]').each(function(){
if ($(this).is(':checked'))
{
alert('Checked');
}
else
{
alert('Not Checked');
}
});
});
如果所有复选框中的 相同 ,则甚至基于值:
$(function(){
$('input[value="Special Option"]').each(function(){
if ($(this).is(':checked'))
{
alert('Checked');
}
else
{
alert('Not Checked');
}
});
});
答案 6 :(得分:0)
您不能/不应该使用此格式的多个复选框,因为ID必须是唯一的。
var isChecked = $('#advantage\\[\\]').is(':checked');
答案 7 :(得分:0)
你在HTML格式中设置“advantage []”女巫变成了php一个数组。 你需要告诉那个特定部分的价值是什么。
例如:“advantage ['checkbox1']”然后在php中你会得到
如果选中该复选框,则 $_POST['advantage']['checkbox1'] will be equal to 'Special Option';
。
另一方面,如果你不能修改:
<?php
if(in_array('Special Option', $_POST['advantage'])){
// checkbox is checked
// it can only be identified by an id witch you will receive by
// foreach($_POST['advantage'] as $id => $val);
}
?>
答案 8 :(得分:-1)
如果您想使用jQuery,请点击此链接,您将能够看到它是如何完成的:
JQuery HowTo: How to check if checkbox is checked using jQuery