У меня будет список полей выбора, которые собирают данные того же типа. Например, у меня будет несколько списков выбора, помеченных те же классы.jQuery selectors: Могу ли я использовать класс для выбора списков?
<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») работает, но другие выберите списки не работают. Я не должен использовать классы для избранных списков, если есть несколько похожих?
Подробности о том, что я пытаюсь сделать ...
На самом деле, первая строка Select Fields была инициализирована с помощью функции JQuery я писал: addrow (п). Метод вызывается во время, на $ (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' должен определенно соответствовать всем элементам' select' в вашем примере кода. Помимо отсутствующих закрывающих кавычек в вашем JavaScript, вы можете показать больше кода для воспроизведения проблемы? – David
http: // jsfiddle .net/lucuma/TvJ7j/Хорошо работает с правильным цитированием. – lucuma