【问题标题】:jQuery strange "undefined" reaction while getting value获取价值时jQuery奇怪的“未定义”反应
【发布时间】:2017-09-21 07:17:17
【问题描述】:

我的变量有问题。所以我正在用 jQuery 制作帖子表单。我试图从中获取信息的输入被隐藏了:

<input id="company_id" name="company_id" type="hidden" value="4">

而jQuery代码是这样的:

if (button == 'rem') {
    var term = $("#userlist").val();
    var comid = $( "#company_id").val();
    $.post('/delfromgroup', { id: term, cid: comid }, function(html){ 
        console.log(comid);
        $("#list").fadeOut("slow",function() { 
            $("#list").html($(html).filter("#error")); 
            $("#list").fadeIn("slow"); 
        });
    });
}

第一次,当我按下按钮时,它很好...... console.log 显示正确的数字,但在第一次之后,每次按下按钮时,值都是“未定义”。为什么第一次后无法正确读取 html 代码?有什么建议么?谢谢你:)

【问题讨论】:

  • 添加点击码+按钮和userlisthtml也
  • 到目前为止,解决这个问题的最好方法是调试它。使用浏览器内置的强大调试器(搜索“xxx dev tools”,其中“xxx”是您的浏览器),在 ajax 回调的第一行设置断点,在 fadeOut 回调的第一行设置另一个断点,然后单步执行代码,查看变量等。

标签: javascript jquery html variables undefined


【解决方案1】:

如果您的隐藏字段company_id 位于#list 内,那么它将被您使用的jQuery 代码(fadeOut()) 删除。

所以当你下次调用它时,你会变得不确定。

【讨论】:

  • OP 的问题中没有任何内容表明输入在#list 中。 (不是我的 dv)
  • 这实际上可能是这里的问题。检查this@Nicox
  • @T.J.Crowder,我假设有可能。
  • 我没有使用 jQuery(只是 vanilla 和 TS),但据我从文档中可以看出,fadeOut 只是修改了不透明度,最后是显示。那删除代码。尽管正如@sTx 指出的那样,使用 .val() 并显示为 none 存在问题。提供的描述很可能是错误的。
  • 我不认为这将是淡出,但更多的是他正在替换 html。但我想说这个答案指向了正确的方向。
猜你喜欢
  • 2017-04-23
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 2021-08-18
  • 1970-01-01
  • 2015-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多