2010-04-22 56 views
5

我有數值的下拉列表:使用jQuery在下拉列表中查找最大值?

<select name="a"> 
    <option value="1">asdsadas</option> 
    <option value="1">wqecsdc</option> 
    <option value="10">nmnmbn</option> 
    <option value="16">assadsa</option> 
    <option value="12">uuyuyuy</option> 
    <option value="60">xzXz</option> 
    <option value="55">vbbnbnm</option> 
    <option value="13">eerrt</option> 
</select> 

我需要找到這個列表中的最高數值。 (在這種情況下,它是60.)

我在想使用.each循環,但有沒有更簡單的方法?

+0

這是什麼樣的事情,Underscore.js是良好的。我認爲用Underscore它會像'_($('#theSelect option')。get())。chain()。pluck('value')。max()。value()' – Pointy 2010-04-22 15:47:59

+0

@pointy你解釋一下在做什麼,爲什麼你不把它作爲答案? – mcgrailm 2010-04-22 15:54:39

+0

查看Underscore(http://documentcloud.github.com/underscore/) - 它是一個提供一些函數式編程實用程序的庫。我沒有發佈答案,因爲我不認爲「使用這個其他圖書館」實際上是直接有用的。該代碼示例準備了一個Underscore包裝器,然後從元素中將「value」屬性抽取到數組中,然後找到最大值。 – Pointy 2010-04-22 16:17:27

回答

7

像這樣的東西應該工作:

function findMaxValue(element) { 
    var maxValue = undefined; 
    $('option', element).each(function() { 
     var val = $(this).attr('value'); 
     val = parseInt(val, 10); 
     if (maxValue === undefined || maxValue < val) { 
      maxValue = val; 
     } 
    }); 
    return maxValue; 
} 

alert(findMaxValue($('select[name=a]'))); 
-1
var maxValue = undefined; 
$('option', element).each(function() { 
    var val = $(this).val(); 
    val = parseInt(val, 10); 
    if(!isNaN(val)) { 
    if (maxValue === undefined || maxValue < val) { 
     maxValue = val; 
    } 
    } 
}); 
return maxValue; 
+0

[JSFiddle例子](http://jsfiddle.net/tbuKU/) – user2428118 2012-09-27 11:58:14

14

這工作對我很好,很直接:

$('select option:last').val() 

編輯:誤解了這個問題,但可能成爲方便他人,在大多數情況下,您在select元素中定義了desc或asc選項。

0

這將工作..!

var temp=0; 

var currentValue, maxValue; 

$('select option').each(function(){ 

currentValue = $(this).val(); 

maxValue = Math.max(temp, currentValue); 

temp=currentValue; 

}); 

console.log(maxValue); 
0

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="aktivite_type" id="aktivite_type"> 
 
    <option value="1">A</option> 
 
    <option value="6">B</option> 
 
    <option value="10">C</option> 
 
    <option value="11">D</option> 
 
    <option value="8">E</option> 
 
    <option value="9">F</option> 
 
    <option value="7">F</option> 
 
</select> 
 

 
<button onclick="JSF__selectLastTypeValue()">Select Value</button> 
 

 
<script> 
 

 
function JSF__selectLastTypeValue() 
 
    { 
 
    var temp=0; 
 
    var currentValue, maxValue; 
 
    $('#aktivite_type option').each(function(i,v) 
 
     { 
 
     currentValue = v.value; 
 
     maxValue = Math.max(temp, currentValue); 
 
     temp=maxValue; 
 
     }); 
 
    $("#aktivite_type").val(maxValue); 
 
    } 
 
    
 
    </script>

+3

請不要只是發佈代碼!爲未來讀者的利益添加一個解釋。 – 2018-02-12 15:04:15

相關問題