¿Cuál es la mejor manera de averiguar si una entrada de texto incluye un texto específico con JQuery?
Por ejemplo, ¿cómo puedo averiguar y devolver un resultado booleano si $('#poo').val()
incluye air< ?
EDITAR
Aquí está la solución a mi problema gracias a @Niklas;
var IsbtFortxtPropertyHotelNameOn = false;
$('#<%: txtPropertyHotelName.ClientID %>').keyup(function() {
if (/airport/i.test(this.value) && !IsbtFortxtPropertyHotelNameOn) {
$('#<%: txtPropertyHotelName.ClientID %>').btOn();
IsbtFortxtPropertyHotelNameOn = true;
} else if(IsbtFortxtPropertyHotelNameOn && !/airport/i.test(this.value)) {
$('#<%: txtPropertyHotelName.ClientID %>').btOff();
IsbtFortxtPropertyHotelNameOn = false;
}
});
4 respuestas
Si desea tener control sobre la distinción entre mayúsculas y minúsculas, puede usar regex:
if (/airport/i.test(this.value)) alert('true');
Se vuelve especialmente útil si necesita verificar múltiples variables en lugar de solo el aeropuerto:
if (/(airport|station|docks)/i.test(this.value)) alert('true');
http://jsfiddle.net/niklasvh/tHLdD/
Realmente no sé si es la mejor manera ... pero
function findInpWithTxt(txt) {
var t = null;
$("input[type=text]").each(function() {
if ($(this).val().indexOf(txt) >= 0) {
t = this;
return false;
}
});
return t;
}
Esto devolverá la entrada si se encuentra, nulo si no
if($("#elementId").val().indexOf("airport") != -1) {
//Contains "airport"
}
La función JavaScript indexOf
devuelve el índice de la primera aparición de la cadena especificada. Si no se encuentra la cadena, devuelve -1
.
Normalmente lo haría con las funciones indexOf o split , p.
$("#textInput").val().split("specifictext").length > 0
También hay Contiene Selector:
Descripción : selecciona todos los elementos que contienen el texto especificado.
Que tiene un propósito ligeramente diferente pero que puede serle útil
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.