2012-08-30 94 views
0

我需要把從JQuery的價值在跨越如下:我如何把內跨度元素的值我​​

<td>Cholesterol</td> 
<td> 
<input type="text" name="txt_cholesterol" id="txt_cholesterol" class="info"/> 
<span class="result"></span> 
</td> 
<td> 
<span class="low">116</span>-<span class="high">254</span> 
</td> 

jQuery的不工作:

$(".info").keyup(function(){ 

    var a = $(this).val(); 
    var low = $(this).closest('td').next().find('.low').html(); 
    var high =$(this).closest('td').next().find('.high').html(); 

    if (a < parseInt(low)) 
    { 



    $(this).closest('span').html('L'); 
    } 
    if (a > parseInt(high)) 
    { 
     $(this).closest('td').next().find('.result').html('H'); 
    } 

}); 
+0

接下來會從當前TD跳轉到TD之後的下一個項目(與TD相同)。所以不要使用下一個,它應該工作。 –

回答

0

嘗試

$(this).next('span.result').html('L'); 

而不是

$(this).closest('span').html('L'); 

最接近的是使用搜索父元素。請參閱本http://api.jquery.com/closest/

使用相同的用於h

+0

它的工作非常感謝 –

+0

@rlo:如果它真的有用,那麼請將此標記爲已接受的答案。 – YogeshWaran

0

試一下:

$(".info").keyup(function() { 
    var $this = $(this); 
    var $td = $this.parent('td').next(); 
    var a = $this.val(); 
    var low = $td.find('.low').html(); 
    var high = $td.find('.high').html(); 

    if (a < parseInt(low, 10)) { 
     $this.next().html('L'); 
    } 
    if (a > parseInt(high, 10)) { 
     $td.find('.result').html('H'); 
    } 

});​ 
0

試試這個

$(".info").keyup(function(){ 

var a = $(this).val(); 
var low = $(this).parent().next().find('.low').html(); 
var high =$(this).parent().next().find('.high').html(); 

if (a < parseInt(low)) 
{ 
    $(this).siblings('.result').html('L'); 
} 
if (a > parseInt(high)) 
{ 
    $(this).siblings('.result').html('H'); 
} 

}); 

See working example

0

檢查http://jsfiddle.net/nrpCR/

這個工作腳本
$(".info").on('keyup', function(e) { 

    var self = $(this); 
    var a = self.val(); 
    var low = self.parent('td').next().find('.low').html(); 
    var high = self.parent('td').next().find('.high').html(); 


    console.log(a, low, high, $(self).parent()); 

    if (a < parseInt(low)) { 



     self.next('span').html('L'); 
    } 
    if (a > parseInt(high)) { 
     self.next('span').html('H'); 
    } 

});​