由于财产名称的必要性?

时间:2014-01-18 07:19:42

标签: javascript jquery html

我有这个代码和html触发单选按钮 这是工作,没有任何问题,“但是,应该有一个名称属性” 当我删除名称属性是不起作用 是什么原因?

<input type="radio" name="e"  />
<input type="radio" name="e" />
<input type="radio" name="e" />

$(document).ready(function () {
            $('input[type=radio]').change(function (event) {
                //I've used classes based on values, which works as long as
                //the values are consistent and don't contain spaces!
                console.log(this);
                $.filter(this).prop('checked', this.checked);
            });
  });

4 个答案:

答案 0 :(得分:3)

单选按钮必须具有name属性。该名称用于确定哪些按钮属于同一组,因此单击其中一个按钮将取消选中上一个按钮。这种分组是单选按钮和复选框之间的区别。

答案 1 :(得分:1)

  

使用名称属性

定义单选按钮组

只有具有name属性的表单元素才会在提交表单时传递其值。

单选按钮的全部目的是使用户能够从列表中进行一个选择 - 仅一个选择。如果您希望用户进行多项选择,则不会使用单选按钮 - 您可以使用复选框。

无论如何,因为用户只能从我们的单选按钮组中进行一次选择,所以该组中的所有单选按钮都需要共享相同的名称。这就是我们将列表组合在一起的方式 - 它们都具有相同的名称。这告诉表单处理程序组的名称以及所选单选按钮的值。

参考

http://www.quackit.com/html/codes/html_radio_button.cfm

答案 2 :(得分:0)

对于被视为属于同一组的所有单选按钮,

name属性相同。

答案 3 :(得分:0)

你可以不用名字来做,但这不是一个正确的方法,

$(document).ready(function() {
    $('input[type=radio]').change(function(event) {
        console.log(this);
        $(this).prop('checked', true);
        $('input[type=radio]').not(this).prop('checked', false);
    });
});

FIDDLE