2011-04-26 59 views
1

的元素值I有這樣的代碼:編輯與條件

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.trackInputHours').change(function() { 
      $(this).closest('.trackOn').nextAll('.trackOn').find('.trackInputHours').val($(this).val()); 
     });    
    }); 
</script> 

和我想變更的值(與val($(this).val()))僅當該元素的值是??或小於新的值。

是否有可能在val()中出現某種情況?或者哪種策略更好?

+0

你有任何實時的代碼嗎?我不明白你想要什麼... – 2011-04-26 15:32:55

+0

http://jsfiddle.net/kAxpv/ – markzzz 2011-04-26 15:39:57

回答

2

使用val回調選項。

$('.trackInputHours').change(function() { 
    var changeVal = $(this).val(); 
    $(this).closest('.trackOn') 
     .nextAll('.trackOn').find('.trackInputHours') 
     .val(function(i, v){ 
      if (v == '??' || v < changeVal) // note: you may need to parse here 
       return changeVal; 
      return v; 
     }); 
}); 
+0

似乎工作!但爲什麼你將變量'i'傳遞給val函數? – markzzz 2011-04-26 15:45:00

+0

@markzzz - 'i'是元素堆棧中的當前索引。通常對於對數組執行某些操作的回調函數,數組中的索引作爲參數傳遞給函數。 – 2011-04-26 15:51:30

+0

啊,好吧......但在這裏我可以擺脫這個變量,不是嗎? :) – markzzz 2011-04-26 15:54:51