q879611427
q879611427
采纳率63.6%
2019-07-23 16:09 阅读 263

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

40

图片说明

<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条回答 默认 最新

  • 已采纳
    u011293970 蜡笔0319 2019-07-23 16:45

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

    点赞 评论 复制链接分享
  • dabocaiqq dabocaiqq 2019-07-23 20:04
    点赞 1 评论 复制链接分享
  • space829 space1103 2019-07-24 09:32

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

    点赞 1 评论 复制链接分享
  • xwh1314 xwh1314 2019-07-23 16:50

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

    点赞 评论 复制链接分享
  • songqiang2011 像忘了谁sq 2019-07-23 16:52

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

    点赞 评论 复制链接分享
  • Sometimes_Ymc Sometimes_Ymc 2019-07-24 10:27

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

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

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

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

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

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

    点赞 评论 复制链接分享

相关推荐