Javascript AngularJS x-可编辑带条件的前置类型
尝试使用angular和x-editable实现以下行为: 我有一个添加用户表单,其中包含1个必需输入:Name。 添加用户时,有两个选项: 1.如果用户存在于$scope.names中,我将使用typeahead显示选项列表->确定 2.如果用户是新用户,不在$scope.names中,则我应该有第二封必需的输入电子邮件,并且我应该仅在typeahead发现与我的姓名输入不匹配时显示该电子邮件 这就是我被困的地方。。。我真的不知道如何应用以下原始条件: 如果用户不在用户->显示电子邮件输入中 任何帮助都将不胜感激! 这是你的电话号码 !Javascript AngularJS x-可编辑带条件的前置类型,javascript,jquery,angularjs,typeahead,x-editable,Javascript,Jquery,Angularjs,Typeahead,X Editable,尝试使用angular和x-editable实现以下行为: 我有一个添加用户表单,其中包含1个必需输入:Name。 添加用户时,有两个选项: 1.如果用户存在于$scope.names中,我将使用typeahead显示选项列表->确定 2.如果用户是新用户,不在$scope.names中,则我应该有第二封必需的输入电子邮件,并且我应该仅在typeahead发现与我的姓名输入不匹配时显示该电子邮件 这就是我被困的地方。。。我真的不知道如何应用以下原始条件: 如果用户不在用户->显示电子邮件输入中
我会在作为电子邮件输入的span中添加一些类似于:ng hide=shouldHide的内容 现在,shoulHide函数应该总是从名称输入中获取值,并对照名称列表进行检查,如果找到,则返回true,如果未找到,则返回false 希望这能帮上忙,我没有时间把它弄得一团糟,对不起
[编辑]您可以在$scope.investor.name中找到名称输入的值。据我所知,我从未使用过x-editable。如前所述,您可以尝试获取输入值并检查列表中是否存在该值,如果该值不在列表中,则将显示可选输入
$scope.shouldHide = function(index) {
//get the typeahead input value:
var nameInput = document.getElementsByName('name')[0]
var nameValue = null
if (nameInput){
nameValue=document.getElementsByName('name')[0].value;
}
if (nameValue){
//check if typeahead input value is in list
$scope.names = ['User 1', 'User 2', 'User 3', 'User 4', 'User 5', 'User 6'];
return $scope.names.indexOf(nameValue) >=0
}
return true;
};
我拨开你的小提琴,在这里添加了解释行为:嗨,保罗,谢谢你的输入,我在这里尝试了一些东西,但仍然不起作用,也许我遗漏了一些东西?
$scope.shouldHide = function(index) {
//get the typeahead input value:
var nameInput = document.getElementsByName('name')[0]
var nameValue = null
if (nameInput){
nameValue=document.getElementsByName('name')[0].value;
}
if (nameValue){
//check if typeahead input value is in list
$scope.names = ['User 1', 'User 2', 'User 3', 'User 4', 'User 5', 'User 6'];
return $scope.names.indexOf(nameValue) >=0
}
return true;
};