2010-12-22 148 views
1

我需要在選擇框中進行簡單的搜索並進行單選。 主要想法是選擇匹配簡單模式的第一個選項元素。使用jQuery在'select'中進行簡單模式搜索

簡單模式:它可以包含*?佔位符,表示任何符號。

我怎樣才能使這個腳本與jQuery? 使用正則表達式?

在此先感謝。

回答

3

如果用this little snippet擴展您的jQuery:

jQuery.expr[':'].regex = function(elem, index, match) { 
    var matchParams = match[3].split(','), 
     validLabels = /^(data|css):/, 
     attr = { 
      method: matchParams[0].match(validLabels) ? 
         matchParams[0].split(':')[0] : 'attr', 
      property: matchParams.shift().replace(validLabels,'') 
     }, 
     regexFlags = 'ig', 
     regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags); 
    return regex.test(jQuery(elem)[attr.method](attr.property)); 
} 

..你可以使用選擇這樣的:

# to match child elements of #container which have their 
# value attribute in the form of /.*names?/ 
$("#container option:regex(value, .*names?)") 
+0

它幫助!謝謝 – 2011-01-14 11:47:36

相關問題