2014-01-07 122 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 

我需要找到字符串「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);