我想在AngularJS中使用这个jquery代码
做类似的事情AO-J1O...
HTML代码为:
x = $(this).next().next().val();
alert(x);
angular javacript是:
<span ng-click="ajax_update_button()" class="glyphicon glyphicon-pencil" style="cursor: pointer; color: red;"></span>
<span ng-click="ajax_delete([[ x.id ]])" style="cursor: pointer; color: red;">X</span> -----
<span>[[ x.name ]]</span>
主要问题是我正在寻找从jquery到angularjs的$(this)的替代方案
答案 0 :(得分:1)
您应该使用ngIf
指令使用标记值(例如我的示例中的edit
)来呈现所需的HTML,而不是创建HTML。
ngIf
指令根据{expression}
删除或重新创建DOM树的一部分。如果分配给ngIf
的表达式求值为false值,则从DOM中删除该元素,否则将元素的克隆重新插入DOM中。
您可以直接将x
传递给
<span ng-click="ajax_update_button(selectedCustomer)" class="glyphicon glyphicon-pencil" style="cursor: pointer; color: red;">Update</span>
<span>
<span ng-if="!selectedCustomer.edit">{{selectedCustomer.name}}</span>
<span ng-if="selectedCustomer.edit"><input type='text' ng-model="selectedCustomer.name"></span>
</span>
然后,您可以访问其属性并根据您的要求操作对象
$scope.selectedCustomer = {
name: "Male",
edit:false
};
$scope.ajax_update_button = function(selectedCustomer){
selectedCustomer.edit = !selectedCustomer.edit;
}