请参阅my jsFiddle,我从下拉列表中创建一个span列表,然后填充输入字段。
我想不允许用户一遍又一遍地插入相同的值(因此,如果你输入了#34; Galileo Galilei",如果你不能再插入它如果之前没有删除。)
我正在尝试这样的事情(就在" var creaIdRimuovi"之后):
var contenutoAttuale = $("#contenitorePersone").text();
if (contenutoAttuale.indexOf(personaSelezionataId) > 0){
alert("presente"); //just to check if the string is founded
}
或
if ("contenutoAttuale:contains('"+personaSelezionataId+"')"){
alert("presente");
}
并且这两种解决方案都不起作用(或者使用else条件)。
我该怎么做?我读到方法contains()现已弃用,我在我的项目中使用了1.11。
答案 0 :(得分:2)
你的第二个代码示例是沿着右边的行,但是需要将选择器提供给jQuery对象,然后还需要检查该对象的{
path: 'r1',
component: 'appComponent',
children: [
{ path: '', component: contentr12Component, outlet: 'content1_r1_r2' },
{ path: '', component: contentr1Component, outlet: 'content2' }
]
}
// write same for r2 just change content1Component you want to load on /r2 route.
{
path: 'r3',
component: 'appComponent',
children: [
{ path: '', component: contentr34Component, outlet: 'content1_r2_r4' },
{ path: '', component: contentr3Component, outlet: 'content2' }
]
}
// write same for r4 just change content3Component you want to load on /r4 route.
属性。试试这个:
length
if ($('#contenitorePersone').find('span:contains("' + personaSelezionata + '")').length != 0) {
alert('presente');
return;
}
语句退出事件处理程序函数,因此会阻止新的return
作为已存在的div
附加。
答案 1 :(得分:1)
此处的逻辑是将输入的值与已添加到下面列表中的值相匹配。所以你走了:
if(!($('#contenitorePersone').find('span:contains("'+personaSelezionata+'")').length)){
$('#contenitorePersone').append('<div><span id="span' + personaSelezionataId + '">' + personaSelezionata + '</span> <input type="button" value="-" id=' + creaIdRimuovi + ' class="ui-button ui-corner-all ui-widget removeSpan"><br></div>');
var inputList = $('#personeID').val();
if ($('#personeID').val() != "") {
$('#personeID').val(inputList + ", " + personaSelezionataId);
} else $('#personeID').val(personaSelezionataId);
}
链接:https://jsfiddle.net/Ashokkumargupta/8vr9e30a/24/
干杯,
阿肖克