我将列出选择字段,收集相同类型的数据。例如,我将有几个选择列表,标记为同一个类。jQuery选择器:我可以使用选择列表的.class吗?
<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
})
看来,第一个选择清单(名称=“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”的当前值的名称。 “NBSCourse1”, “NBSCourse2” ..等
目前,只响应场。
的$( “select.NBSCourse”)的进一步说明。改变(函数(){
$("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);
}})
})
您可以加入PLZ?顺便说一句,你缺少的代码的其余部分“在您选择 –
'select.NBSCourse'一定要在你的JavaScript缺少的结束引号匹配所有'select'元素在你的示例代码除此之外,可以显示更多的代码来重现问题 – David
HTTP://的jsfiddle .NET/lucuma/TvJ7j /正常工作与适当的引用。 – lucuma