Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript `选中`单选按钮输入上的属性不存在_Javascript_Ember.js_Radio Button_Checked - Fatal编程技术网

Javascript `选中`单选按钮输入上的属性不存在

Javascript `选中`单选按钮输入上的属性不存在,javascript,ember.js,radio-button,checked,Javascript,Ember.js,Radio Button,Checked,当尝试创建单选按钮输入并设置选中属性时,选中属性永远不会出现。有趣的是,CSS for:checked state元素的工作原理与VoiceOver在当时为所选单选按钮读出的一样 下面是一个显示此问题的余烬旋转: 您将看到checked属性从未出现在selected单选按钮上,但是DOM元素和CSS都显示为checked或selected 有人知道是什么导致了这种明显的冲突吗?您应该使用: $('input:radio:checked').val() 而不是: $('input[checked

当尝试创建单选按钮输入并设置选中属性时,选中属性永远不会出现。有趣的是,CSS for:checked state元素的工作原理与VoiceOver在当时为所选单选按钮读出的一样

下面是一个显示此问题的余烬旋转:

您将看到checked属性从未出现在selected单选按钮上,但是DOM元素和CSS都显示为checked或selected

有人知道是什么导致了这种明显的冲突吗?

您应该使用:

$('input:radio:checked').val()
而不是:

$('input[checked]').val()
您应该使用:

$('input:radio:checked').val()
而不是:

$('input[checked]').val()

问题是您甚至没有为单选按钮设置value属性,也没有更改controller/application.js中的当前属性

您应该在templates/application.hbs中更改三件事。 首先,您应该在单选按钮value={{option}}中包含value属性,并在onclick属性onclick={{action'changecheed'}上包含一个操作,以指定更改。由于{{eq}}帮助器本身返回true或false,因此也可以在没有{if}}帮助器的情况下将checked属性写入checked={eq选项current} 最终的输入标记应如下所示:

之后,在controllers/application.js中,您必须添加操作changeChecked

而且,其中checked的return语句应更改为:

return $('input:radio:checked').val();

现在,您可以在DOM中动态获取所选单选按钮。

问题是您甚至没有为单选按钮设置value属性,也没有更改controller/application.js中的当前属性

您应该在templates/application.hbs中更改三件事。 首先,您应该在单选按钮value={{option}}中包含value属性,并在onclick属性onclick={{action'changecheed'}上包含一个操作,以指定更改。由于{{eq}}帮助器本身返回true或false,因此也可以在没有{if}}帮助器的情况下将checked属性写入checked={eq选项current} 最终的输入标记应如下所示:

之后,在controllers/application.js中,您必须添加操作changeChecked

而且,其中checked的return语句应更改为:

return $('input:radio:checked').val();

现在,您可以在DOM中动态获取所选单选按钮。

您是否尝试过将$'input[checked].val更改为$'input:checked'.val?除了上面的注释外,您的任何单选按钮都设置了一个值,因此在获取val时,它将为null或未定义您是否尝试过更改$'input[checked].val到$'input:checked'.val?除了上面的注释外,您的任何单选按钮都有一个设置值,因此当获取val时,它将为null或未定义。我想我很困惑,checked是一个用户应用的属性和/或CSS伪类。我假设checked是一个属性,当您单击这些DOM元素时,它会更新。我想我很困惑,checked是一个用户应用的属性和/或CSS伪类。我假设checked是一个属性,当您单击这些DOM元素时,它会更新。