我将有一个选择字段的列表,收集相同类型的数据。例如,我将有一些选择列表,标记为同一类。
<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”)有效,但其他选择列表不起作用。如果有多个类似的列表,我是否不应该对选择列表使用类?
<小时/>我正在尝试做什么的详细信息...
实际上,选择字段的第一行已由我编写的 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”的当前值。 “NBSC类(class)1”,“NBSC类(class)2”..等等
目前,仅响应字段。
$("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);
}})
})
最佳答案
使用类选择器是可以的,你错过了代码$("select.NBSCourse)
的"
。
关于用于选择列表的 jQuery 选择器 : Can I use . 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11007953/