2013-06-06 4 views
0

Это может быть какой-то странный вопрос, но это проблема, с которой я столкнулся. У меня есть TextBox с Id, как:Как проверить значение текстового поля, содержащего _age в конце?

"pax_9495237e-5c9e-489f-8700-2f82e211fd51__Age" 
"pax_9495237e-9h7e-489f-8700-2f82e211fd51__Age" 
"pax_9495237e-9k2e-489f-8700-2f82e211fd51__Age" 

Теперь я хочу, чтобы проверить, все Textboxes состоят из __Age в конце концов, имеет числовое значение или нет. Если не числовые (INT), то есть символы (№) не разрешены, то сделайте предупреждение. Пожалуйста, помогите мне, я не знаю, как это сделать. Я знаю, что у меня есть опция класса, но я хочу сделать Id.

+0

«pax_9495237e-5c9e-489f-8700-2f82e211fd51__Age» это id или класс .. ?? – Gautam3164

+0

Итак ... эти идентификаторы? Regex? Ваш qeustion делает 0 смысл – SpYk3HH

+0

Имеет числовое значение или нет ... ?? –

ответ

0

Для выбора вам ввода, вы можете использовать это:

$('[id$="__Age"]') 

Затем знать, если это номер

$('[id$="__Age"]').each(function(){ 
    if(isNaN(parseInt($(this).val()))){ 
     alert(this,id + ' is not a number'); 
    } 
}) 

Fiddle: http://jsfiddle.net/3B9Vp/

0

Попробуйте как этот

$(document).ready(function(){ 
    $("input[type='text'][id$='__Age']").each(function(){ 
     if(isNaN(parseInt($(this).val()))) 
      alert('Not an Integer');     
     else 
      alert('It is an Integer'); 
    }); 
}); 

Он проверит все значения TextBox, которые Идентификаторы закончилась '__Age'

+0

Это работает для вас .. ?? – Gautam3164

+0

Если я не ошибаюсь, .val() вернет строку. Вам нужно разобрать строку перед 'isNaN', иначе она всегда будет возвращать false. –

+0

Нет Это не работает. – Dhwani

0

Что-то вроде:

$("textarea").filter(function(i) { return $(this).prop("id").indexOf("__Age") !== -1; }) 

http://api.jquery.com/filter/
http://api.jquery.com/jQuery.inArray/
How to check whether a string contains a substring in JavaScript?

Working Example

// an array of e.which|e.key codes that is every key code for every number and control (like shift, backspace, etc..) 
var numsNcontrols = [48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,8,9,13,16,17,18,19,20,32,33,34,35,36,45,46,44,145,37,38,39,40]; 
// first grab all inputs ending with "__Age", then asign "keydown" check for improper characters 
$("input[type=text]").filter(function(i) { return $(this).prop("id").indexOf("__Age") !== -1; }).on("keydown", function(e) { 
    if ($.inArray(e.which, numsNcontrols) == -1) return false; 
}) // now, using jQuery Chaining, we continue and asign keyup event to alert users they cannot enter anything but numbers 
.on("keyup", function(e) { 
    if ($.inArray(e.which, numsNcontrols) == -1) alert('Numbers only please!'); 
}) 

// simple check value update to show how many textboxes end in "__Age" 
$("#bil").val(
    $("input[type=text]").filter(function(i) { return $(this).prop("id").indexOf("__Age") !== -1; }).length 
    + " textboxes have __Age at end of ID." 
); 

// Shows in a textbox how many textboxes end in "__Age" && have a numeric value 
$("#bad").val(
    $("input[type=text]").filter(function(i) { return $(this).prop("id").indexOf("__Age") !== -1 && !isNaN(parseInt($(this).val())); }).length 
    + " textboxes have __Age at end of ID && numeric value." 
); 

¡ТАКЖЕ! Найти довольно полный список в одном большом объекте (полный мелких объектов и массивов) ключевых кодов here

+0

TextBox I использую. – Dhwani

+0

@ProgrammerIT 'input [type = text]'? – SpYk3HH

+0

@ProgrammerIT Исправлена ​​небольшая ошибка в коде. Обновлено, работает. – SpYk3HH

0

для того, чтобы получить все входное окончание остроумие ч «__Age» вы можете использовать селектор JQuery

jQuery("[attribute$='value']") 

Вы можете найти более подробную информацию here

Таким образом, в вашем случае вы можете позвонить:

$('input[id$="__Age"]'); 

где все текстовые поля с идентификатором заканчивающийся на «__Age», будет возвращен.

Для того чтобы проверить, если входной числовой вы можете проверить значение каждого текстового поля и использовать isNaN функцию, представленную в Javascript

Вот example, где есть 3 текстовые поля и вы вызываете функцию, чтобы проверить, если их текущее значение является числовым или нет.

0

Если вам нужно только, чтобы показать одно уведомление, когда любой из входов с __Age в конце имеет нечисловых значений, то вы можете попробовать что-то вроде этого:

if($("input[type='text'][id$='__Age']").filter(function(){ 
    return !isNaN($(this).val()); //leave only those inputs with nonNumeric value 
}).length) //count their lenght - if it's > 0 then show alert 
    alert('There are inputs with "nonNumeric" values!'); 
Смежные вопросы