我没有要查看的ID,因为有些行是通过克隆动态插入的。
我正在查找与单击Check System按钮对应的systemname的值。
这是功能:
function getSystemInfo(btn){
var buttonClicked = $(btn);
var firstSystemName = buttonClicked.parent().next().find($("input.systemname"));
alert( $(firstSystemName).val() );
}
以下是生成的源代码:
<div name="singleSystemDiv" class="offset-bg">
<div class="field inline">
<label class="frmFlds_labels">System Name</label>
<input name="systemname" class="systemname" size="15" value="d1cti1d4" type="text">
</div>
<div class="field inline">
<label class="frmFlds_labels">Location</label>
<select id="location" name="location">
<option value=""></option>
<option value="Akron">Akron</option>
<option value="Allen">Allen DC - Mob</option>
<option value="Alpharetta">Alpharetta - Mob</option>
</select>
</div>
<div class="field inline">
<label class="frmFlds_labels">Platform</label>
<select id="platform" name="platform" onChange="updateModels(this);" class="platform">
<option value=""></option>
<option value="IBM" selected="selected">AIX</option>
</select>
</div>
<div class="buttons">
<input value="Remove System" onClick="removeSystemRow(this);" type="button">
<input value="Check System" onClick="getSystemInfo(this);" type="button">
</div>
</div>
我写这个的方式,我的警报是开火,未定义。
我似乎不得不问很多关于遍历的问题。如果有人有一个演示这个的网站,请发布。关于.next(),parent()等的jQuery文档并没有为我做。
答案 0 :(得分:0)
试试这个:
function getSystemInfo(btn){
var buttonClicked = $(btn);
var $firstSystemName = buttonClicked.closest("div[name='singleSystemDiv']").find($("input.systemname"));
alert($firstSystemName.val());
}
或者,您可以使用buttonClicked.parent().parent().find($("input.systemname"));
,但我个人认为链式parent()
来电有点难看。