Javascript 填充div时,输入按钮停止工作

Javascript 填充div时,输入按钮停止工作,javascript,jquery,html,Javascript,Jquery,Html,我的html中有一个div定义如下: <div id="rgroups" class="dialogWindow fileDialog" style="display:none;" > <input id="rgroups_ok" class="dialogButton" type="submit" value="Done"/> <label for="rgroups_ok"><span class="label">Start</span

我的html中有一个div定义如下:

<div id="rgroups" class="dialogWindow fileDialog"  style="display:none;" >
<input id="rgroups_ok" class="dialogButton" type="submit" value="Done"/> 
<label for="rgroups_ok"><span class="label">Start</span></label>';
</div>
如果我坚持下去,它工作正常,按钮工作正常

然后我像这样填充html分区:

var div=document.getElementById('rgroups');
div.style.display='inline-block';
for (i = 1; i <= count; i++) {
div.innerHTML+=' Rgroup '+i+' values separated by / symbol:  \n <textarea id="Rgroup"'+i+' rows="4" cols="50"> </textarea>';}
内部的HTML定义按钮停止工作

有线索吗

谢谢

尝试将“观察”更改为“打开” 因此:

    $('#rgroups_ok').on('click', function ()
    {
        ui.hideDialog('rgroups');
    });
您可以查看详细信息以了解更多信息


观察似乎是,也可能不是你想要的东西。

我不太清楚。所以我制作了演示代码。 如果你能提到你的主要主题/想法,那将对我们有所帮助。 完整代码: 负责人:

正文:


Hi在此帖子上找到了解决方案:

总而言之,在不销毁所有子对象的情况下进行追加是不可能的。这件事必须重建


感谢

使用append而不是字符串连接,以及innerHTML属性migth帮助。一般来说,使用JQuery的on事件比使用observe和bind更好。当我没有从js中编写html时,我发现observe工作正常。observe工作不正常,首先您误用了它。第二个参数应该是要观察的对象,而不是尝试传递一个字符串?我已经添加到jquery选择器中,这应该可以让它在“单击”时工作
    $('#rgroups_ok').on('click', function ()
    {
        ui.hideDialog('rgroups');
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div id="rgroups" class="dialogWindow fileDialog">
        <label for="rgroups_ok">
            <span class="label">Start</span>
        </label>
    </div>

<div id="rgroups2" style="display:none;">
    <p onclick="textA()">Hey click here</p>
</div>

<button id="rgroups_ok2" class="dialogButton" onclick="a()">
    Done
</button>
<script>
    function a() {
        $('#rgroups').css("display", "none");
        $("#rgroups2").css("display", "inline-block");
        $("#rgroups_ok2").css("display", "none");
    };


    function textA() {
        var count = 100;
        //document.getElementById("rgroups2").innerHTML += "Bye";
        for (i = 1; i <= count; i++) {
            document.getElementById("rgroups2").innerHTML += '<p> Rgroup ' + i + ' values separated by / symbol:  \n <textarea id="Rgroup" rows="4" cols="50">' + i + ' </textarea></p>';
        }
    }
</script>