我正在使用X-Editable和AngularJS for Form
<form editable-form name="userform" onaftersave="submitUser()">
<table class="user_table">
<tr class="userrow name">
<td class="info">First Name</td>
<td class="desc">
<span editable-text="curuser.firstName" e-name="firstName" e-maxlength="25">{{curuser.firstName}}</span>
</td>
</tr>
<tr class="userrow email">
<td class="info">E-Mail</td>
<td class="desc">
<span editable-email="curuser.email" e-name="email" e-maxlength="48">{{curuser.email}}</span>
</td>
</tr>
<tr class="userrow authority">
<td class="info">Role</td>
<td class="desc user-roles">
<span editable-select="roleUpdated" e-name="roles" e-ng-options="role as role.name for role in roles" onaftersave="updateRole(curuser, roleUpdated)">{{ showRoles() }}</span>
{{ showRoles() }}
</span>
</td>
</tr>
<tr ng-if="curuser.id == null" class="userrow command">
<td class="info"></td>
<td class="desc">
<button type="submit" class="submit_button btn btn-primary" ng-show="!readonly && !amanager">Submit</button>
</td>
</tr>
</table>
</form>
有两个标准,一个允许用户更新所有字段,另一个允许用户只允许编辑角色,即选择角色。 我的实际问题是如何根据特定条件使表单元素可编辑/不可编辑。 如果我从所有字段手动删除可编辑文本,则它满足第二个条件。有什么办法可以根据条件添加可编辑文本 任何人都有任何有用的想法?
先谢谢
答案 0 :(得分:2)
我知道时间已晚,但我自己也面临同样的问题
例如,假设您不想允许修改电子邮件,除非电子邮件是默认电子邮件
<span editable-email="curuser.email" e-name="email" e-maxlength="48" ng-if="curuser.email=='Enter an e-mail'">
{{curuser.email}}
</span>
<span e-name="email" e-maxlength="48" ng-if="curuser.email != 'Enter an e-mail'">
{{curuser.email}}
</span>
这只是一个例子,但我确信你可以激励自己
答案 1 :(得分:0)
混合jquery和angularjs不是一个好习惯,除非它们干净利落地分开。我猜你想看看这个 - http://vitalets.github.io/angular-xeditable/
答案 2 :(得分:0)
我相信写一个新的指令是正确的方法。如果与ng-if
合并,则可能会使用ng-repeat
遇到各种问题。