Javascript 选择或输入数据时,应更新该值

Javascript 选择或输入数据时,应更新该值,javascript,jquery,html,Javascript,Jquery,Html,我试图使数据得到更新或附加,就像使用提示符的第一个元素一样。在第一种情况下,当我在提示符中单击ok时,它会被更新,但在第二种情况下,它仍然保留在日期输入标记中,不会被更新。下拉列表也是一样,在我选择之后,我应该更新值 <div class="tabbable"> <div class="tab-content"> <div class="tab-pane active" id="tab1"> <table id='table-dr

我试图使数据得到更新或附加,就像使用提示符的第一个元素一样。在第一种情况下,当我在提示符中单击ok时,它会被更新,但在第二种情况下,它仍然保留在日期输入标记中,不会被更新。下拉列表也是一样,在我选择之后,我应该更新值

<div class="tabbable">
<div class="tab-content">
    <div class="tab-pane active" id="tab1">
        <table id='table-draggable1'>
            <tbody class="connectedSortable">
                <tr>
                    <th>col1</th>
                    <th>col3</th>
                    <th>col4</th>
                </tr>
                <tr>
                    <td class="desc">256</td>
                    <td class="date">25-4-1992</td>
                    <td class="masterlist">0</td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

可乐
可乐
可乐
256
25-4-1992
0

$(“.desc”).dblclick(函数()
{
var OriginalContent=$(this.text();
var inputNewText=prompt(“输入新内容:”,OriginalContent);
如果(inputNewText!=null)
{
$(this).text(inputNewText);
}
});
$(“.date”).dblclick(函数()
{
var inputNewText='';
如果(inputNewText!=null)
{
$(this).html(inputNewText);
}
});
$(“.masterlist”).dblclick(函数()
{
var OriginalContent=$(this.html();
var inputNewText='12';
如果(inputNewText!=null)
{
$(this).html(inputNewText);
}
});

您也在动态更改事件所连接的元素,因此需要使用委托事件处理程序。即使使用相同的类/id替换元素,也不会将事件处理程序重新连接到新的DOM元素:

JSFiddle:
你想在第二个td上有这样的内容吗?是的,同样的下拉列表也是如此。@TrueBlueAusie已经提供了一个答案:)嗨,谢谢,我一定会遵循它。你能帮我更新现场oso吗。比如desc字段。这样我的页面看起来会很整洁。我想弄明白,但没办法。你应该在一个单独的问题上询问样式,但你希望它看起来像什么?请检查第一列。在提示中给出值后,该值将在html@Cerebus1504例如我不明白你的意思。你能更详细地解释一下你想要什么吗?如果你查看jsfiddle.net/5XyV5/1。在这里,只要编辑前两个字段,它就会得到更新。但下拉列表中没有。请检查一下。如果你仍然无法理解,请告诉我
    $(".desc").dblclick(function ()
{
    var OriginalContent = $(this).text();
    var inputNewText = prompt("Enter new content for:", OriginalContent);
    if (inputNewText != null)
    {
        $(this).text(inputNewText);
    }
});

$(".date").dblclick(function ()
{
    var inputNewText = '<input class="date" type="date"/>';
    if (inputNewText != null)
    {
        $(this).html(inputNewText);

    }

});

$(".masterlist").dblclick(function ()
{
    var OriginalContent = $(this).html();
    var inputNewText = '<select class="masterlist"><option>1</option><option>2</option></select>';
    if (inputNewText != null)
    {
        $(this).html(inputNewText);
    }

});
$(document).on("dblclick",".desc", function ()
    {
        var OriginalContent = $(this).text();
        var inputNewText = prompt("Enter new content for:", OriginalContent);
        if (inputNewText != null)
        {
            $(this).text(inputNewText);
        }
    });



$(document).on("dblclick", ".date", function () {
    var inputNewText = '<input class="date" type="date"/>';
    if (inputNewText != null) {
        $(this).html(inputNewText);

    }

});

$(document).on("dblclick",".masterlist", function () {
    var OriginalContent = $(this).html();
    var inputNewText = '<select class="masterlist"><option>1</option><option>2</option></select>';
    if (inputNewText != null) {
        $(this).html(inputNewText);
    }

});
$(".connectedSortable").on("dblclick",".desc", function ()