Как мне отделить соответствующее значение от id элемента с помощью jQuery?

#jquery

#jquery

Вопрос:

У меня есть элемент:

 input name="crd[69][qty]" id="crd[69][qty]" value="1" size="4" class="input-text qty" maxlength="12"
  

Я упомянул имя в формате массива для использования в фоновом PHP, чего мне нужно добиться, так это:

  • Когда пользователь нажимает на это текстовое поле, я должен иметь возможность извлекать только «69» из идентификатора элемента, который является "crd[69][qty]" . Этот идентификатор будет отличаться для разных текстовых полей…

Существует ли какая-либо функция jQuery для выполнения этого?

Комментарии:

1. как вы хотите получить???

2. Попробуйте это в firebug 'crd[69][qty]'.split('[')[1].split(']')[0]

3. sry входной тег был отключен, когда я его сохранил .. теперь он виден в вопросе.. я хочу получить результат «69», если его id равен crd[69][кол-во]

Ответ №1:

Я не эксперт по регулярным выражениям, но это должно сработать:

 $('input').click(function(){
    var id = $(this).attr('id');
    var parts = id.match(/[([0-9] )][([a-z] )]/);
    alert(parts[1]   ' - '   parts[2]);
});
  

http://jsfiddle.net/7jUHz/1/

Ответ №2:

После получения полной строки вы можете использовать метод exec javascript RegExp вjavascript RegExp. Как сказано

Если вы хотите получить ту часть строки, которая была сопоставлена, вызовите функцию exec() созданного вами объекта RegExp, например: mymatch = myregexp.exec(«subject»).