javascript - 键入后无法在输入中动态设置文本值

标签 javascript jquery user-interface

我有一个简单的 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>

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

最佳答案

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

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

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

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

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

关于javascript - 键入后无法在输入中动态设置文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49824633/

相关文章:

iOS:弹出自定义 UIView

xcode - Xcode-整个UI的深色主题

javascript - 当数组中给出级别时转换对象列表

javascript - 结合多种表单的ajax代码

javascript - Bootstrap 行高随单个 div 变化

javascript - 如何获取JQuery颜色框的 "break out"

javascript - 停止悬停动画

java - 扫雷 GUI 游戏的标记按钮

javascript - 如何让一个按钮总是浮在另一个按钮上

javascript - 评估传递给 Angular 指令的对象中的字符串表达式