Php 仅选择一个复选框(并取消选择rest),如果选中复选框,则显示输入字段
我有一张表格,上面有“是”和“否”两个复选框。这些一开始是未经选择的。我希望用户只选择其中一个,如果他们不想做决定,可以选择取消选择(这就是为什么我没有使用单选按钮)。选择“是”应取消选择“否”,反之亦然。我不知道该怎么做。我正在使用PHP(codeigniter)、Javascript和JQueryPhp 仅选择一个复选框(并取消选择rest),如果选中复选框,则显示输入字段,php,javascript,jquery,codeigniter,checkbox,Php,Javascript,Jquery,Codeigniter,Checkbox,我有一张表格,上面有“是”和“否”两个复选框。这些一开始是未经选择的。我希望用户只选择其中一个,如果他们不想做决定,可以选择取消选择(这就是为什么我没有使用单选按钮)。选择“是”应取消选择“否”,反之亦然。我不知道该怎么做。我正在使用PHP(codeigniter)、Javascript和JQuery 其次,选择是或否后,需要显示输入字段。我有这个设置,但它切换到“onclick”操作,这意味着选择两次Yes将显示和隐藏输入字段!我希望输入字段显示是否选择了Yes(是)或No(否),如果同时取消
假设您的html是这样的(我想是这样的):
希望这有帮助。干杯。这应该可以满足您的要求:
$("#checkbox1").change(function() {
if ($(this).attr("checked") && $("#checkbox2").attr("checked")) {
$("checkbox2").removeAttr("checked");
} else if ($(this).attr("checked")) {
$("#inputfield").show();
} else {
$("#inputfield").hide();
}
});
$("#checkbox2").change(function() {
if ($(this).attr("checked") && $("#checkbox1").attr("checked")) {
$("checkbox1").removeAttr("checked");
} else if ($(this).attr("checked")) {
$("#inputfield").show();
} else {
$("#inputfield").hide();
}
});
注:JQuery不适用于我的诺基亚6303c:)设备,硬编码-可以工作。。。因此,应用程序必须有两个部分。作为另一个选项,您可以添加一个所有部分作为
单选按钮,
按钮…并添加第三个,说none
。因此,当用户不想做决定时,他可以单击none单选按钮
表单,它包含许多行,每个行都有Yes或No选项。如果只有一行,添加一个None就可以了,但是多个决策行(默认情况下,每个决策行都选择了None)会导致糟糕的UI。除非您建议默认选中并隐藏的“无”,否则唯一的问题是复选框的“是”值和“否”值的名称相同。i、 e.name=“decision”在这两种情况下都是如此,这样我可以在提交决策时读取决策值。我不知道如果选择了“是”,如果两者都有相同的元素名,如何取消选中“否”。我不知道给他们分配一个不同的ID是不是一种方法。
<input type="checkbox" name="decisionY" value="y" /> Yes
<input type="checkbox" name="decisionN" value="N" /> Yes
<input type="text" id="togglenote" name="togglenote" />
$(document).ready(function(){
$(":checkbox[name^='decision']").change(function(){
if($(this).is(":checked")){
$(":checkbox[name[^='decision']").attr("checked", false); //Uncheck the other
$(this).attr("checked", true);
$("#togglenote").show();
}
if($(":checkbox[name^='decision']:checked").size() == 0){
$("#togglenote").hide();
}
});
});
$("#checkbox1").change(function() {
if ($(this).attr("checked") && $("#checkbox2").attr("checked")) {
$("checkbox2").removeAttr("checked");
} else if ($(this).attr("checked")) {
$("#inputfield").show();
} else {
$("#inputfield").hide();
}
});
$("#checkbox2").change(function() {
if ($(this).attr("checked") && $("#checkbox1").attr("checked")) {
$("checkbox1").removeAttr("checked");
} else if ($(this).attr("checked")) {
$("#inputfield").show();
} else {
$("#inputfield").hide();
}
});