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

时间:2015-03-09 07:16:38

标签: javascript jquery edit-in-place

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

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,'\\]');

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

我想你在下一行中有一个拼写错误:

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

试试这个:

$elem = $("span[id^='impfung_1']");
相关问题