-2

我无法使用 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,'\\]');

谢谢你的建议。

4

1 回答 1

1

我想您在以下行中有错字:

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

试试这个:

$elem = $("span[id^='impfung_1']");
于 2015-03-09T11:35:50.367 回答