我需要获取传递给 .change 语句的表单元素的索引。
示例 HTML 表单代码
<tr><td>Question1</td><td><select class=list1 id=l[1] name=l[1]><option value=1>1<option value=2> 2 <option value=3> 3 </select></td><td><select class=hideme name=x[1] id=x[1]></select></td></tr>
<tr><td>Question2</td><td><select class=list1 id=l[1] name=l[2]><option value=1>1<option value=2> 2 <option value=3> 3 </select></td><td><select class=hideme name=x[2] id=x[2]></select></td></tr>
<tr><td>Question3</td><td><select class=list1 id=l[3] name=l[3]><option value=1>1<option value=2> 2 <option value=3> 3 </select></td><td><select class=hideme name=x[3] id=x[3]></select></td></tr>
现在用户将从第一个下拉菜单中选择 1、2 或 3。基于该选择,第二个下拉菜单将加载内容。
示例 javascipt jquery 函数
$('.list1').change (function ()
{
// here is where I need to pick up the index ie: the [1] [2] or [3] as var id
var selected = $("#l[id] option:selected");
var pdata = 'subjectareaid='+selected.val();
$.ajax({
type : "POST",
cache : false,
url : "subcat.php",
data : pdata,
success: function(data) {
$('#x[id]').html(data);
$('#x[id]').removeClass('hideme');
}
});
});
这将允许我根据第一个下拉列表中的选择使用 ajax 调用返回的选项填充第二个下拉列表。
该表有 54 个下拉列表,所有下拉列表都必须对它们执行此操作(这是在提交表单时填充 mysql 表)下拉列表是 (l[id]) 主要类别 (x[id]) 子类别。子猫选择被隐藏,直到主猫被选中,然后选择语句被填充。