我在表单中添加了行选项,用户可以根据需要添加任意数量的行,然后通过 ajax 一次性提交。
每行包含选择框和一堆文本框。
文本框已正确提交,但我的表单仅在第一行中为所有其他行提交选择框值,尽管值不同。
正确解释了我的问题(希望如此),以下是选择框的 html 代码代码:
<td><span id="xyz"><select id="whatever">
<option value="one">ONE</option>
<option value="two">TWO</option>
<option value="three">THREE</option>
</select>
</span></td>
以下是 jQuery 获取所有选择框值的不同代码版本的代码:
$("#table tbody tr").each(function(){
var select = $(this).find("td:eq(0)").find("select#whatever).val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $("select#whatever).val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $(this).find("td:eq(0)").find("select#whatever option:selected").val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $(this).find("td:eq(0)").find("select#whatever").val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $(this).find("td:eq(0)").find("select").val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $(this).find("td:eq(0).xyz").find("select#whatever").val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $(this).find("td:eq(0).dropdown select#whatever").val();
//etc
}
$("#table tbody tr").each(function(){
var select = $(this).find("td:eq(0)").find("select#whatever").val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $("select#whatever option:selected").val();
//etc
}
或者
$("#table tbody tr").each(function(){
var select = $("select option:selected").val();
//etc
}
如果我没记错的话,最重要的是代码的各种版本,我已经在 IE 8 中尝试过,但没有取得多大成功。
它们在 IE 9 和 firefox 等其他浏览器中运行良好。
循环工作正常,因为我能够获取其他输入框值。
我也尝试过没有 id 属性的 html select boxe,但也没有用。
我真的需要有人帮忙。
提前感谢天才。
标记。