2011-04-26 56 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