【问题标题】:Cannot set dynamically text value in input after typing键入后无法在输入中动态设置文本值
【发布时间】:2018-04-13 20:24:28
【问题描述】:

我有一个简单的 jquery 调用,由单击“编辑按钮”引起,它会打开带有输入 (#folder-typed) 的对话框,默认文本值为 $keepTitle。它工作正常,但是当我在输入中键入新值,然后关闭对话框并重新打开它时,此代码的第二行就像被忽略了。文本输入的值不会改变,默认是我之前输入的值。

$keepTitle = $('.nav-folder-text[pass="' + $to_edit_id + '"]').text();
$('#folder-typed').attr('value', $keepTitle);
new_f_dialog.dialog("open");

E:附加html

     <div class="name-container">
        <label for="name">Enter name:</label>
        <input class="text-input" id="folder-typed" type="text" name="title" class="text ui-widget-content ui-corner-all">
      </div>

正如我所说,当点击几个位置的“编辑”时,它会正确地将默认输入值更改为传递的标题,直到我用键盘更改文本输入值 - 然后它仍然是最后输入的值。

【问题讨论】:

标签: javascript jquery user-interface


【解决方案1】:

不只是第二行代码被忽略,一旦 DOM 准备就绪,它会在浏览器中加载所有包含和引用的 javascript 和 css 以创建所需的内容/功能。

您所看到的是此 jquery 的预期行为。每次特定输入框在页面上可见时,更改输入框的值都会产生不同的值。

将该输入框放在您的编辑弹出窗口之外并更改它的值。在您重新加载页面或在浏览器控制台中运行 javascript 之前,您将无法在该文本框中取回 $keepTitle's 值。

如果不想改变输入框的值,可以通过$("#textBoxId").attr("disabled", "disabled");禁用文本框

我希望它能解释您在页面上遇到的行为。

【讨论】:

猜你喜欢
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多