【问题标题】:checkboxes behave like radiobuttons with different names复选框的行为类似于具有不同名称的单选按钮
【发布时间】:2014-12-12 23:45:40
【问题描述】:

我有一个问题,这对你们来说可能很容易。我是 jquery 的新手,正在尝试做一个由选择框、复选框和 3 个单选按钮组成的表单(计算器)(有 3 个相同的名称,只有一个或没有可以选中)。

当我(第一次)提交表单时,每个输入的值都与我想要的一样。但是当我第二次提交它而不刷新/重置时,之前检查的单选按钮消失了,即使我重新单击单选按钮而不刷新并提交它,该值也无法由 php 维护。

所以我决定将单选按钮更改为复选框,这就是我需要你帮助的地方。

我需要 3 个复选框,可以只选择一个或不选择具有不同“名称”的复选框。

<input type="checkbox" id="checkbox8" value="1" name="8" <?php if(isset($_POST['8']) && $_POST['8'] == '1') echo 'checked="checked"';?> />
<input type="checkbox" id="checkbox9" value="2" name="9" <?php if(isset($_POST['9']) && $_POST['9'] == '2') echo 'checked="checked" ';?> />
<input type="checkbox" id="checkbox10" value="3" name="10" <?php if(isset($_POST['10']) && $_POST['10'] == '3') echo 'checked="checked" ';?> />

我准备了这个:

[链接] (http://jsfiddle.net/ry4k8ve9/)

提前非常感谢!希望你能帮助我

【问题讨论】:

  • 嘿mohit,感谢您的快速回答。问题是,我总共有 10 个复选框,只有 checkbox8、checkbox9 和 checkbox10 的行为应该像请求的那样。那我该怎么做呢?
  • 我明白了。我只是把它们放在一个带有 ID 的 div 中 :)
  • 当我用 id 将它们包装在一个 div 中并通过 $('#testing input[type="checkbox"]'); 调用时在 jfiddle 它工作,在我的程序它不工作。我在哪里把代码放在 $(document)ready(function() {... ??

标签: javascript jquery checkbox radio


【解决方案1】:

只需在您的复选框中添加一个点击事件即可关闭其他复选框:

$('input[type="checkbox"]').click(function(){
    $('input[type="checkbox"]').not(this).prop('checked', false)
})

【讨论】:

    【解决方案2】:

    试试这个:-

    var $unique = $('#checkbox8,#checkbox9,#checkbox10');
    $unique.click(function() {
       $unique.not(this).removeAttr('checked');    
    });
    

    Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-24
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 2020-04-07
      相关资源
      最近更新 更多