键入后获取一部分内容。 `keyup`

时间:2011-09-11 13:08:18

标签: javascript jquery

为什么我总是得到一个不同的字段(class="bg_units bu0"class="bg_units bu1"class="bg_units bu2")的输入值(bu0)?

我想如果用户在字段bu0中输入值得到类(.bu0)的动态第2部分class="bg_units bu0",就像其他字符一样:

  • 如果在字段上键入每个值bu0 = get class => .bu0
  • 如果在字段bu1 = get class =>上键入每个值.bu1
  • 如果在字段中键入每个值bu2 = get class => .bu2

示例: http://jsfiddle.net/jJaYT/

$('.eghamat').live('keyup',function () {
    var $this = $(this),
    $div = $this.closest('div.find_input'),
    bu_num =  '.' + $div.find('.bg_units').attr('class').split(" ")[1];
    alert(bu_num);
});

2 个答案:

答案 0 :(得分:1)

您的代码应该这样做:

$('.eghamat').live('keyup', function() {
    var $this = $(this),
        $div = $this.closest('div.bg_units'),
        bu_num = '.' + $div.attr('class').split(" ")[1];
    alert(bu_num);
});

你要去最顶层的div,其中包含所有内容,搜索.bg_units并始终获得第一个。只需致电$this.closest('div.bg_units'),

答案 1 :(得分:1)

您只需要进行一些小改动:

工作示例:http://jsfiddle.net/jJaYT/2/

$('.eghamat').live('keyup',function () {
    $div = $(this).closest('.bg_units');
    bu_num =  '.' + $div.attr('class').split(" ")[1];
    alert(bu_num);
});