2014-01-07 3 views
0

я использую «change'-функцию, чтобы поставить значение переключателя в входНайти определенную строку с JQuery

$("#afa_select").change(function() { 
    var nd_value = $('#afa_select :selected').text(); 
    $("#nd_hidden").val(nd_value); 
}); 

Параметры на переключателе содержат следующие строки:

text 10 Jahre 
another text 6 Jahre 
just another text 12 Jahre 
another text with a figure e.g. 1000 6 Jahre 
another text with a figure e.g. 3234 6 Jahre 

I нужно найти число перед строкой «Jahre» и поместить это значение во вход #nd_hidden.

+0

Позиция «Jahre» всегда такая же? – Brad

+1

Это не вещь jQuery, это вещь в JavaScript. Что вы пробовали? Где вы застреваете? –

+0

Можете ли вы использовать это число в качестве атрибута для параметров, было бы легче читать этот путь, просто предложение. Другой способ - сделать это с помощью регулярного выражения. – Mutant

ответ

5

Это тривиальное с regular expression:

var text = "another text with a figure e.g. 1000 6 Jahre"; 
var result = /(\d+) +Jahre/.exec(text); 
if (result) { 
    console.log(result[1]); // "6" 
} 

Если вам это нужно, как номер:

var num = parseInt(result[1], 10); 

Регулярное выражение говорит: «Найти первое совпадение в строке, что это серия цифр, за которыми следуют одно или несколько пробелов, за которыми следуют символы Jahre и фиксируют цифры в группе захвата ». result будет null, если совпадения не найдено. Если совпадение найдено, содержимое первой группы захвата находится в result[1].

2

вы также можете разбить строку на пробел и получить позицию n-2, если вы не хотите использовать регулярные выражения.

var selectNumber = nd_value.split(" "); 
var yourNumber = selectNumber[selectNumber.length-2]; 

console.log(yourNumber); 
Смежные вопросы