prop(checked,true)不生效

幽夜莫知途 2021-02-02 03:02:13

主要代码如上,需求是在初始化时获取数据,根据数据 判断选择框状态,结果无论如何设为true都没反应如下图
除了以上还发现两点问题:
1.将那段更改checked为true的代码放在页面元素后,<script></script>中就可以执行。
2.我点击选项框第一次时是没反应的,后面才会出现选择到的效果,我推断是状态改变了,页面不知什么原因没渲染的原因,可是又找不到头绪。
求大佬指教!!!!!!!!!!!!
...全文
1780 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
汇品铺子 2021-02-04
  • 打赏
  • 举报
回复
引用 4 楼 幽夜莫知途 的回复:
[quote=引用 3 楼 惠品铺子 的回复:]你打个断点进去看看
没打断点我直接alert可以的[/quote] 你简化一下代码看看。这样执行是没问题的。

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
	
	function change() {
		$('#IsAudit').prop('checked', true).change();
	}

	function initControl() {
		console.log("异步加载数据等待3s");
		setTimeout(function() {
			change();
		}, 3000)
	}

	initControl();
});
</script>
</head>

<body>
<label>审核状态<input id="IsAudit" type="checkbox" name=""></label>
</body>
</html>
幽夜莫知途 2021-02-04
  • 打赏
  • 举报
回复
引用 3 楼 惠品铺子 的回复:
你打个断点进去看看
没打断点我直接alert可以的
汇品铺子 2021-02-04
  • 打赏
  • 举报
回复
你打个断点进去看看
幽夜莫知途 2021-02-04
  • 打赏
  • 举报
回复
引用 1 楼 惠品铺子 的回复:
你这是异步的原因吧,当你点击复选框的时候,setForm去请求接口,这个时候数据还没返回,还没到success,所以没有马上执行change();当接口返回结果之后执行回调success才能接着执行到change()复选框才会勾选。 你可以加个等待的状态来解决这个交互问题。
change直接在success方法中,请求成功应该就会执行这个方法啊,问题就是这里的change没反应,除了这个checkbox其他控件都是渲染成功的应该是执行成功了的,进入到了success方法中的。
汇品铺子 2021-02-03
  • 打赏
  • 举报
回复
你这是异步的原因吧,当你点击复选框的时候,setForm去请求接口,这个时候数据还没返回,还没到success,所以没有马上执行change();当接口返回结果之后执行回调success才能接着执行到change()复选框才会勾选。 你可以加个等待的状态来解决这个交互问题。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧