通过jquery获取除last之外的输入值

时间:2013-02-05 11:27:16

标签: javascript jquery

我想通过jquery获取除最后一个类.tr中的最后一个输入之外的输入中的所有值,但它对我不起作用,如何修复它?

我试着:

DEMO: http://jsfiddle.net/d4xZK/

HTML:

<div class="tr">
    <input type="text" value="111">
</div>
<div class="tr">
    <input type="text" value="222">
</div>
<div class="tr">
    <input type="text" value="333">
</div>
<div class="tr">
    <input type="text" value="444">
</div>

jQuery的:

$('.tr').each(function(){
    var mpiVal = $('.tr input').not(':last').val();
    alert(mpiVal)
)}

5 个答案:

答案 0 :(得分:3)

你可以slice()离开最后一个:

$('.tr').slice(0, -1).each(function() {
    var mpiVal = $('input', this).val();
    console.log(mpiVal);
});

Demo

答案 1 :(得分:2)

$('.tr').not(':last').each(function(){
    var mpiVal = $(this).children('input').val();
    alert(mpiVal)
});

在这里演示http://jsfiddle.net/d4xZK/4/

答案 2 :(得分:1)

或者你可以简单地使用正确的选择器;

$('.tr:not(:last) input').each(function(){
    var mpiVal = $(this).val();
    alert(mpiVal);
});

答案 3 :(得分:0)

最后一行有一个语法错误

  var arr = []
  $('.tr:not(:last)').each(function(){
     arr.push.call(arr,$(this).find('input').first().val());         
  });
  alert(arr);

答案 4 :(得分:0)

$(".tr:not(:last) input").map(function(){ return $(this).val() }).get()

返回["111", "222", "333"]