选择并设置最后一个元素的前一个元素的值

时间:2013-08-05 10:27:19

标签: jquery

我有以下动态添加的文本框列表

<tr class="dimensionStone">
<td><input type="text" name="todayDimensionStones[].stoneNo" id="stoneNo" value=0 onclick="keyPressListener1(this.id)" onfocus="keyPressListener1(this.id)" Class="controlStock"/></td>
<td><input type="text" name="todayDimensionStones[].length" id="length" value=0 onchange="findDimension(this.id)" onclick="keyPressListener(this.id)" onfocus="keyPressListener(this.id)" Class="controlStock"/></td>
<td><input type="text" name="todayDimensionStones[].breadth" id="breadth" value=0 onchange="findDimension(this.id)" onclick="keyPressListener(this.id)" onfocus="keyPressListener(this.id)" Class="controlStock"/></td>
<td><input type="text" name="todayDimensionStones[].height" id="height" value=0 onchange="findDimension(this.id)" onclick="keyPressListener(this.id)" onfocus="keyPressListener(this.id)" Class="controlStock"/></td>
<td><input type="text" name="todayDimensionStones[].dimension" id="dimension" value=0 onchange="findDimension(this.id)" onclick="keyDownDisableListener(this.id)" Class="controlStock"/></td>
<td><input type="text" name="todayDimensionStones[].isIssued" id="isIssued" value="No" onfocus="keyDownDisableListener(this.id)" Class="controlStock"/></td>
<td><input type="text" name="todayDimensionStones[].status" id="status" onfocus="keyDownDisableListener(this.id)" Class="controlStock"/></td>   
<td><a href="#" class="removeDimensionStone"><img src="images/1minus.png" width="20" height="20" title="Remove Dimension Stone"/></a></td>
</tr>

我一直在使用以下jquery将前5个元素的值设置为零,将最后一个元素设置为无值

$(rowElement).find("input").val(0);
$(rowElement).find(":text:last").val('');

但是我找不到jquery来重置最后一个元素的前一个元素的值。我已经搜索了更多。请帮帮我

5 个答案:

答案 0 :(得分:0)

试试这个

$(rowElement).find(":text:nth-last-child(2)").val('');

答案 1 :(得分:0)

var rowElement = $('.dimensionStone')
var el = $(rowElement).find("input");

el.val(0).last().val('').eq(el.length-2).val('test');
// ^^ all         ^^ last                ^^ second last

FIDDLE

答案 2 :(得分:0)

重置最后一个元素的前一个元素的值:

$(rowElement).find(":text:last").prev(":text").val('');

答案 3 :(得分:0)

尝试以下:

//will set each input text to 0
$("#txtDiv").find("input").val(0);

//will set last input text to ""
$("#txtDiv").find("input").last().val("");

//will change text of all previous text fields before last
$("#txtDiv").find("input").last().prevAll().val("Hello");

在这里工作小提琴:http://jsfiddle.net/zpVaL/

我希望它有所帮助。

答案 4 :(得分:0)

试试这个..

$('input:text').val(0).last().val('').prev().val('test');