【发布时间】:2014-07-31 06:34:56
【问题描述】:
我有这个简单的 div:
<div id="mainContent">
</div>
它是空的。现在我正在尝试将此HTML 附加到上面的 div 中:
<div id="mainContent">
<label>Project Name</label>
<input type="text" id="projectName" data-bind="value: projectName"/>
<label>Tracker Name</label>
<input type="text" id="trackerName" data-bind="value: trackerName"/>
</div>
<button type="submit" data-bind="click: submitNewProject">Submit</button>
通过使用:
$.ajax({
type : 'POST',
url : 'newTracker.php',
dataType : 'html',
success : function(data){
$("#mainContent").html(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert('Something is wrong!');
}
});
data 是 HTML 我试图通过以下方式分配:$("#mainContent").html(data);
乍一看,一切看起来都很漂亮,但有一个问题 - 绑定不起作用。
我的意思是,在新分配的HTML 中,我有一个按钮应该调用视图模型函数,但它没有......
但是,如果我将代码直接放在 div 中,绑定就会像魅力一样工作。
为什么当我在 div 中分配新的 HTML 代码时,我的投标不起作用?我知道我在这里遗漏了一些非常小的和基本的东西,但我找不到它。
编辑:
按钮事件:
submitNewProject = function(){
console.log("submit new project");
};
【问题讨论】:
-
你能显示绑定的代码吗?
-
可能被骗? stackoverflow.com/questions/11066732/…。动态添加的内容不会在 VM 中,因此您必须(重新)应用您的绑定。
-
你能告诉我们按钮的事件处理程序吗?我猜你没有使用
on()的委托 -
你应该使用委托。
-
@VDesign 刚刚放置。
标签: javascript jquery html knockout.js