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