我将有一个选择字段列表,收集相同类型的数据。例如,我将有几个选择列表,标记到同一个类。
<select name="NBSCourse1" class="NBSCourse"></select>
<select name="NBSCourse2" class="NBSCourse"></select>
<select name="NBSCourse3" class="NBSCourse"></select>
// and so on...
我编写了一种方法来检测选择列表中的变化,所有这些都按类引用它们。
$("select.NBSCourse").change(function() {
//Other codes here
})
似乎第一个选择列表 (name="NBSCourse1") 有效,但其他选择列表不起作用。如果有多个类似的列表,我不应该为选择列表使用类吗?
有关我正在尝试做的事情的详细信息...
实际上,Select Fields 的第一行已由我编写的 jQuery 函数初始化:addrow(n)。该方法在 $(document).ready 期间调用。
我还有一个“添加更多”按钮,它将调用 addrow(n) 函数。我已经声明了一个名为“counterNBSCourse”的计数器,我将它传递给了函数。addrow(counterNBSCourse)。
function addRow(n){
var tablerow
tablerow = "<tr>";
tablerow += "<td><select name='NBSCourse" + n + "' class='NBSCourse'></select></td>";
//Other select fields
tablerow += "</tr>"
$("table.courses").append(tablerow);
//Method to populate select list
$.ajax({url:"dropdown.asp?type=courseidfill", success:function(result) {
$("select[name=NBSCourse" + n + "]").html(result);
}})
counterNBSCourse++
}
如您所见,当我添加另一行具有“NBSCourse”类的选择字段时,我的名称是根据“counterNBSCourse”的当前值。"NBSCourse1","NBSCourse2".. 等等。
此刻,只响应场。
$("select.NBSCourse").change(function() {
$("select.NBSCourse").change(function () {
//Getting select field's name
var name
name = $(this).attr('name');
//Getting the number tagged behind the select name file
var num
num = name.replace("NBSCourse","");
//Getting selected value
var nbsCourseid;
nbsCourseid = $(this).val();
//Function to populate another select field,
$.ajax({url:"dropdown.asp?value="+ nbsCourseid + "&type=courseid",success:function(result) {
$("select[name=IndexNo" + num + "]").html(result);
}})
})