Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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 prop(';checked';)不更改HTML中的实际checked属性_Javascript_Php_Jquery_Html_Forms - Fatal编程技术网

Javascript prop(';checked';)不更改HTML中的实际checked属性

Javascript prop(';checked';)不更改HTML中的实际checked属性,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,好的,这很可能是一个相当愚蠢的问题,但我很难把我的头围绕在这个问题上 在页面加载/生成时,我将根据实际的数据库条目,通过PHP将checked=“checked”添加到我的 在使用表单时,我通过Javascript/jQuery读取输入的检查状态,以便(AJAX-)提交表单并更新数据库条目 问题是,即使当我的JS求值\u this.is(':checked')返回false时,实际的HTML/DOM表示仍然显示checked属性 我知道我可以.removeAttr('checked'),但这没有

好的,这很可能是一个相当愚蠢的问题,但我很难把我的头围绕在这个问题上

在页面加载/生成时,我将根据实际的数据库条目,通过PHP将
checked=“checked”
添加到我的

在使用表单时,我通过Javascript/jQuery读取输入的检查状态,以便(AJAX-)提交表单并更新数据库条目

问题是,即使当我的JS求值
\u this.is(':checked')
返回
false
时,实际的HTML/DOM表示仍然显示checked属性

我知道我可以
.removeAttr('checked')
,但这没有意义(一切正常),也不建议这样做(请参阅…)


我的问题是:这是正常行为吗?我是否应该无视这种不一致?我在这里没有得到什么


谢谢你的时间和努力

这是完全正常的。在源中看到的属性是元素的原始状态。底层属性(即
prop()
get/set)可以不同

下面是一个例子:

var$cb=$(':checkbox');
console.log('attr:'+$cb.attr('checked'),'prop:'+$cb.prop('checked'));
$cb.prop('勾选',错误);
console.log('attr:'+$cb.attr('checked'),'prop:'+$cb.prop('checked'))

尝试使用
checked=“true”
代替checkeduse
prop()