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'); 
    }

});
4

4 回答 4

0

尝试

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

代替

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

最接近用于搜索父元素。参考这个http://api.jquery.com/closest/

对 H 使用相同的

于 2012-08-30T12:28:33.223 回答
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');
    }

});​
于 2012-08-30T12:30:28.660 回答
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');
    }

});​
于 2012-08-30T12:42:58.177 回答
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');
}

});

查看工作示例

于 2012-08-30T12:38:05.090 回答