2012-06-13 140 views
1

我将列出选择字段,收集相同类型的数据。例如,我将有几个选择列表,标记为同一个类。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);     
}})  
}) 
+0

您可以加入PLZ?顺便说一句,你缺少的代码的其余部分“在您选择 –

+0

'select.NBSCourse'一定要在你的JavaScript缺少的结束引号匹配所有'select'元素在你的示例代码除此之外,可以显示更多的代码来重现问题 – David

+0

HTTP://的jsfiddle .NET/lucuma/TvJ7j /正常工作与适当的引用。 – lucuma

回答

4

这是确定使用类选择,你想念你的代码的"$("select.NBSCourse)

+0

由于休息。我已经纠正了以上反映这一点。 – kosherjellyfish

1

你缺少一个右引号:

$("select.NBSCourse").change(function() { 
//Other codes here 
}); 
0

感谢所有我设法解决上述问题(和我哥哥的帮助下,谁显然更为完善的诗句jQue !RY)

看来,我的代码是做工精细,但我的功能addrow();没有工作,因为我放置在$(文件).read(函数()的剧本。这就是为什么该函数只能被调用一次。

相关问题