单击跨度后打开文本字段不起作用

open textfield after click on span does not work

本文关键字:文本 字段 不起作用 单击      更新时间:2023-09-26

我无法使用JavaScript/jQuery创建就地编辑功能。我无法使用插件编辑就地,因为我需要在上面放置一个日期选择器。由于某种奇怪的原因,我下面的代码不起作用:

function editImpfDatumImpfung1Clicked(sender)
{
    var sText = $(this).text();
    var sId = $(this).attr("id");
    $(this).attr("id", "tobechanged");
    $(this).after('<input type="text" id="' + sId + '" value="' + sText + '" />');
    $(this).remove();
    bImpfung1Clicked = true;
    $("#" + sId).focus();
    $("#" + sId).datepicker(datepickerOptions);
    if (bFirstRegisterImpfung1 === true)
    {
        firstRegisterImpfung1();
        bFirstRegisterImpfung1 = false;
    }
}
$(document).ready(function()
{
    $elem = $("span[id^='impfung_1['");
    if ($elem.length > 0)
    {
        bFirstRegisterImpfung1 = true;
        $elem.click(editImpfDatumImpfung1Clicked);
    }
});

编辑:

控制台中没有错误。

console.log($("#" + sId).val());导致undefined

编辑 2:只需要像这样转义id:

sId = sId.replace(/[[]/g,'''[');
sId = "#" + sId.replace(/]/g,''']');

感谢您的建议。

我想你在以下行有一个错字:

$elem = $("span[id^='impfung_1['");

试试这个:

$elem = $("span[id^='impfung_1']");