Я работаю над адаптированием прикованной функции раскрывающегося списка, которую я нашел онлайн на моем сайте. Ниже приведен код, который я нашел онлайн. Одна из проблем заключается в том, что у меня возникли проблемы с пониманием строки, которая читает var connection = selected.data('connection');
Является ли атрибутом соединения что-то общее для jquery? Или он установлен где-то в коде? Если да, то где в коде этот набор?Связанный выпадающий список списка выбора - данные соединения?
$(function(){
var questions = $('#questions');
function refreshSelects(){
var selects = questions.find('select');
// Improve the selects with the Chose plugin
selects.chosen();
// Listen for changes
selects.unbind('change').bind('change',function(){
// The selected option
var selected = $(this).find('option').eq(this.selectedIndex);
// Look up the data-connection attribute
var connection = selected.data('connection');
// Removing the li containers that follow (if any)
selected.closest('#questions li').nextAll().remove();
if(connection){
fetchSelect(connection);
}
});
}
var working = false;
function fetchSelect(val){
if(working){
return false;
}
working = true;
$.getJSON('ajax.php',{key:val},function(r){
var connection, options = '';
$.each(r.items,function(k,v){
connection = '';
if(v){
connection = 'data-connection="'+v+'"';
}
options+= '<option value="'+k+'" '+connection+'>'+k+'</option>';
});
if(r.defaultText){
// The chose plugin requires that we add an empty option
// element if we want to display a "Please choose" text
options = '<option></option>'+options;
}
// Building the markup for the select section
$('<li>\
<p>'+r.title+'</p>\
<select data-placeholder="'+r.defaultText+'">\
'+ options +'\
</select>\
<span class="divider"></span>\
</li>').appendTo(questions);
refreshSelects();
working = false;
});
}
$('#preloader').ajaxStart(function(){
$(this).show();
}).ajaxStop(function(){
$(this).hide();
});
// Initially load the product select
fetchSelect('productSelect');
});
Я понял это, но нигде в коде метод data() не используется для назначения информации с именем атрибута «соединение» с объектом option. – user532493
data- * являются атрибутами данных HTML5. Они устанавливаются как соединение данных в коде, но могут быть выбраны как данные() Дополнительная информация: http://www.marcofolio.net/webdesign/html5_data-_attributes_are_great_and_you_know_it.html – Stewie
Добро пожаловать, мой друг, прочитайте свой код connection = '' ; if (v) { connection = 'data-connection = "' + v + '"'; } опции + = '<значение опции = "' + k + '"' + соединение + '>' + k + ''; – Stewie