EasyUI文本框设置value值报错,求助!!!

图片说明

<div id="div_kyq"> </div>
   <script type="text/javascript">
    //加载页面
           $.ajax({
               url: "word.ashx",
               async: false,
               type: 'post',
               success: function (resultData) {
                   var s = "矿业权登记项目名称:<input name='kyqdjxmmc'  id='kyqdjxmmc0' class='easyui-textbox' data-options='editable:false' style='width:15%'/>";

                   $("#div_kyq").append(s);

                   $('#kyqdjxmmc0').textbox('setValue', "555"); 
               }
           });

   </script>

报错:JS运行错误: 无法获取未定义或 null 引用的属性“options”
问题说明:文本框可以显示出来,但填充值的时候报如上错误。
求大佬解决两个问题:
1.可以正常填充值
2.在$(document).ready(function () {}中执行该Ajax并且可以正常渲染
# 第二个不回答也行

6个回答

你为什么不直接 赋值呢?直接给input 一个value

我试了很多次,都没出现你那个错误,只是出现了如图这个错误
图片说明
图片说明
我把报错的这行改成 $('#kyqdjxmmc0').val("555"); 这样写就不报错,并且显示正常

space829
space1103 回复q879611427: 正常情况下这个ajax应该是在$(function(){});或者body的onload方法里执行的,你调用了页面上的dom,有可能是因为页面上的dom没有渲染完,才导致你的那个错误的,我这边页面上没什么内容,所以不需要等待渲染的时间
4 个月之前 回复
q879611427
q879611427 有这个错误,回显的时候第一次数据加载不全,刷新才能加载出来
4 个月之前 回复

延迟半秒赋值应该就可以了
$('#kyqdjxmmc0').textbox('setValue', "555");
改为:
setTimeout(function (){
$("#kyqdjxmmc0").val("555");
//$("#kyqdjxmmc0").text("555");
}, 500);

https://www.cnblogs.com/root429/p/9251390.html
动态加载input 没有解析

首先你这个值是Null 或者没有定义,,所以报错,你可以做一个验证

if($('#kyqdjxmmc0')){
$('#kyqdjxmmc0').textbox('setValue', "555");
}

其次,可以把赋值放到s中去做,你没有表明你的需求,所以不知道你想要的结果。

jquery给input赋值:我们一般的写法都是 $("#id").val(""); 你这个写法没用过,你可以尝试下。

还有 ajax请求里面的 async: false, 我觉得也没有必要。因为只有你请求成功了才会去执行success;可以去了试下,这个东西还是会有其它影响的;

希望对你有帮助。(你也可以把你的需求写出来,给你完整代码)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!