【发布时间】:2014-09-26 07:56:01
【问题描述】:
我有一个内联标签,点击后将替换为输入框以编辑内容。
<div ng-app>
<div ng-controller="TempController">
<label ng-model="Data" class="editable-lbl">{{ Data }}</label>
<br /><br />
<button ng-click="Save()">Save</button>
</div>
</div>
问题是编辑后,不会更新作用域内的变量。
function TempController($scope)
{
$scope.Data = 'Hi! Im enteng, Click me to edit';
$scope.Save = function()
{
alert($scope.Data);
}
}
$(document).on("click", "label.editable-lbl", function () {
var txt = $(".editable-lbl").text();
$(".editable-lbl").replaceWith("<input ng-model='Data' class='editable-lbl-input' />");
$(".editable-lbl-input").val(txt);
});
$(document).on("blur", "input.editable-lbl-input", function () {
var txt = $(this).val();
$(this).replaceWith("<label class='editable-lbl'></label>");
$(".editable-lbl").text(txt);
});
查看此小提琴以获取实时示例Fiddle
我尝试在
中绑定ng-model$(".editable-lbl").replaceWith("<input ng-model='Data' class='editable-lbl-input' />");
但是当我点击保存按钮时,仍然会提示相同的值。
【问题讨论】:
标签: jquery angularjs angular-ngmodel