2012-03-22 24 views
0

大家好我有一個像jQuery的選擇具有價值最後一個字段大於零

<div class="dlt_distance_slab"> 
    <div class="dl_distance_slab"> 
     <label for="upto"><g:message code="rule.upto.label" default="Upto" /></label> 
    </div> 
    <div class="dt_distance_slab_show"> 
     <g:formatNumber number="${ruleInstance?.distanceSlabLimit1}" type="number" maxFractionDigits="2" class="distanceSlablimit" /> Km 
    </div> 
</div> 
<div class="dlt_distance_slab"> 
    <div class="dl_distance_slab"> 
     <label for="upto"><g:message code="rule.upto.label" default="Upto" /></label> 
    </div> 
    <div class="dt_distance_slab_show"> 
     <g:formatNumber number="${ruleInstance?.distanceSlabLimit2}" type="number" maxFractionDigits="2" class="distanceSlablimit" /> Km 
    </div>  
</div> 
<div class="dlt_distance_slab"> 
     <div class="dl_distance_slab"> 
     <label for="upto"><g:message code="rule.upto.label" default="Upto" /></label> 
    </div> 
    <div class="dt_distance_slab_show"> 
     <g:formatNumber number="${ruleInstance?.distanceSlabLimit3}" type="number" maxFractionDigits="2" class="distanceSlablimit" /> Km 
    </div>   
</div> 

我要選擇具有值> 0(所有於formatNumber Fiels是有相同的類=「distanceSlablimit最後formatNumber場場「

如何使用jQuery做

+1

您應該包含實際的HTML輸出。 'g:formatNumber />'產生了什麼? – Stefan 2012-03-22 08:29:08

+0

使用'.each'循環它們,如果值大於0,則將該項保存在變量中,並且在循環之後,應該將最後一個保存在var中。 – slash197 2012-03-22 08:30:46

回答

1

首先,你可以過濾選擇的元素using a function as a parameter for .filter(),然後你可以簡單地使用.last()

parseInt()用於將該值轉換爲數字。一定要總是指定第二個參數(基數),否則你會注意到一些"strange" behaviour。例如,'010'將被翻譯爲數字8,因爲在Javascript中,起始零點表示八進制數字。

$('.distanceSlablimit').filter(function() { 
    //replace val() with text() if the elements are not form elements 
    return parseInt($(this).val(), 10) > 0; 
}).last(); 

jsFiddle Demo/and another with .text()

+0

給定未定義... – maaz 2012-03-22 08:46:28

+0

@maaz增加了對代碼的評論。我不知道你的(asp?whatever)代碼產生了什麼標記。 '.val()'用於表單元素(如果你選中的話,我在演示中使用過),否則你可以使用'.text()',如果這些是div或者span或者其他的。添加了第二個演示,顯示這個工作。 – kapa 2012-03-22 08:48:15

+0

其GSP(Groovy服務器頁面)代碼... – maaz 2012-03-22 08:54:22

-1

您可以使用filter()last();

$('.distanceSlablimit').filter(function() { 
    return parseInt($(this).val() || $(this).text()) > 0); // Checking val() and text() as the type of element is unknown. 
}).last(); 
+0

一個不必要的括號和'parseInt'的不安全使用。 – kapa 2012-03-22 08:46:23

+0

給出了未定義的答案 – maaz 2012-03-22 08:49:58

相關問題