Javascript exec () функция - PullRequest
       6

Javascript exec () функция

1 голос
/ 10 августа 2009

У меня есть следующее

$().ready(function() {
    $("input[name^=totalRent_]").each(function()
    {    var input = $(this);  
         var name = input.attr('name');  
         var num = /\d+$/.exec(name)[0]; 

Моя HTML-форма имеет:

    <input type="text" name="totalRent_1"  value="" /> <br />
    <input type="hidden" name="totalRent_1_hidden" /><br />
    <hr />
    <input type="text" name="totalRent_2"  value="" /> <br />
    <input type="hidden" name="totalRent_2_hidden" /><br />
    <hr />
    <input type="text" name="totalRent_3"  value="" /> <br />
    <input type="hidden" name="totalRent_3_hidden" /><br />
    <hr />

Теперь я получаю ошибку javascript, говорящую: /\d+$/.exec(name) равно нулю

Каждая функция прикреплена к («input [name ^ = totalRent_]»). Что мне нужно сделать, чтобы in подключался только к total_rent, а не с totalRent _..._ скрыто?

Заранее спасибо.

1 Ответ

1 голос
/ 10 августа 2009

Если вы хотите выбрать только текстовые вводы, а не скрытые, вы меняете свой селектор для фильтрации по нескольким атрибутам (имя и тип):

$('input[name^=totalRent_][type=text]')

Или вы можете проверить атрибут типа элемента в функции обратного вызова каждый :

$('input[name^=totalRent_]').each(function(){
  var input = $(this);  
  if (input.attr('type') == 'text'){
    var name = input.attr('name');  
    var num = /\d+$/.exec(name)[0];
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...