2015-11-04 2 views
0

если я выбрать все элементы ввода с именем, заканчивающийся Телефоном каквыбрать все элементы с определенным именем, но без каких-тех

$("input[name$='Phone']").. 

как я могу ограничить этот выбор далее в том смысле, что я хочу, чтобы выбрать все элементы ввода с именем, заканчивающимся телефоном, но без элемента с именем zPhone и kkPhone и ooo2tPhone например.

+4

'$ (" input [name $ = 'Phone'] "). Not (" input [name^= 'z'] ")' – madalinivascu

ответ

2

Вы можете использовать не селектор:

$("input[name$='Phone']").not('[name$="zPhone"]').not('[name$="kkPhone"]') 

Но для простоты я бы имена, которые заканчиваются на телефоне, включая подчеркивание: my_Phone, your_Phone, our_Phone, etc., а затем просто использовать:

$("input[name$='_Phone']") 
+2

Вы должны использовать '.not ('[name $ =" zPhone "], [name $ =" kkPhone "] ')' или лучше, используйте 'filter()', потому что если вам нужно исключить десять селекторов, например, вам лучше использовать регулярное выражение или другое –

0

https://api.jquery.com/not-selector/
http://api.jquery.com/not/

$("input[name$='Phone']:not([name='megaPhone'],[name='cellPhone'])").css({border:"2px solid red"});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<!-- YES --> 
 
<input name="mobilePhone"> 
 
<input name="telePhone"> 
 
<!-- NOT --> 
 
<input name="cellPhone"> 
 
<input name="megaPhone">


Использование http://api.jquery.com/filter/ и регулярное выражение:

$("input[name$='Phone']").filter(function(){ 
 
    return !this.name.match(/^(cell|mega)Phone$/); 
 
}).css({border:"2px solid red"});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<!-- YES --> 
 
<input name="mobilePhone"> 
 
<input name="telePhone"> 
 
<!-- NOT --> 
 
<input name="cellPhone"> 
 
<input name="megaPhone">

/^ (клетка | мега | изречения) Телефон $/г
^ утверждать положение в начале строки
первой группы записи (мобильные | мег | изречения)
первой альтернатива: клетка
клетка соответствует персонажам клетка буквально (чувствительно к регистру)
второй Альтернативы: мег
мега спичкам символы мег буквально (чувствительно к регистру)
3-й Альтернативные: изречениях
изречения соответствует символам изречения буквально (чувствительно к регистру)
телефона соответствует символам телефона буквально (чувствительно к регистру)
$ отстаивать позицию в конце строк