javascript - 尝试从通过 jQuery 构建的输入框获取值时出现未定义

标签 javascript jquery html

HTML:

<input value='Rename' type='button'  onclick='RenameGlobalPhase({$row['id']});'
<span id='renameGlobalPhase{$row['id']}'>" . $row['phase'] . "</span>

这是我的 JS 代码:

function RenameGlobalPhase(id)// {{{
{
    var phase = $('#renameGlobalPhase' + id).html();
    $('#renameGlobalPhase' + id).replaceWith("<input id='#renameGlobalPhase" + id + "' type='text' onblur='SaveNewPhaseName(" + id + ");' value='" + phase + "' />");
    $('#renameGlobalPhase' + id).focus();
} // }}}

function SaveNewPhaseName(id)// {{{
{
    var newPhase = $('#renameGlobalPhase' + id).val();  
    alert(newPhase);
    $('#renameGlobalPhase' + id).replaceWith('<span>' + newPhase + '</span>');
} // }}}

因此,当用户单击上面的 input 按钮时,我将其旁边的 span 转换为 input 字段,以便用户可以重命名该值。在 onblur (从 jQuery 为新的 input 字段新创建的)中,我想保存新值并返回到 span

警报显示一个未定义值。谁能看出出了什么问题吗?

最佳答案

id中删除#

改变

.replaceWith("<input id='#renameGlobalPhase" + id + "'

.replaceWith("<input id='renameGlobalPhase" + id + "'

fiddle

关于javascript - 尝试从通过 jQuery 构建的输入框获取值时出现未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20335879/

相关文章:

CSS 布局帮助 - 将 div 拉伸(stretch)到页面底部

html - 溢出时隐藏元素

javascript - Ext JS 4.2.1 - renderTo 导致错误

javascript - contenteditable 元素中类似标签的自动完成和插入符号/光标移动

javascript - 当模态在 vue 实例之外定义时,Bootstrap 模态不起作用

javascript - 而不是 $.each 想使用 Array.find

javascript - 如何复制 JavaScript 生成的文本?

javascript - 指令不起作用 - 调试步骤?

javascript - B2C 注册页面 - 电子邮件验证后显示断言字段

javascript - 2 RSS feeds inside on one webapp