В настоящее время я пытаюсь вызывать только поля с определенными атрибутами. Так как я не эксперт по jquery, я взял кнопку «Добавить все» в качестве руководства и обновил ее, чтобы соответствовать своей цели. До сих пор я не получил ожидаемых результатов.
Ниже приведен исходный код "add - all", который добавляет все "li" с левой стороны таблицы вправо.
this.container.find(".add-all").click(function() {
var options = that.element.find('option').not(":selected");
if (that.availableList.children('li:hidden').length > 1) {
that.availableList.children('li').each(function(i) {
if (jQuery(this).is(":visible")) jQuery(options[i-1]).attr('selected', 'selected');
});
} else {
options.attr('selected', 'selected');
}
that._populateLists(that.element.find('option'));
return false;
});
Это код, который генерирует "li".
_getOptionNode: function(option) {
option = jQuery(option);
var node = jQuery('<li class="ui-state-default ui-element " title="'+option.text()+'" data-selected-value="' + option.val() + '" industry = "'+ option.attr("class")+'" ><span class="ui-icon"/>'+option.text()+'<a href="#" class="action"><span class="ui-corner-all ui-icon"/></a></li>').hide();
node.data('optionLink', option);
return node;
Я попытался обновить код «добавить все», чтобы вызвать только атрибут отрасли. Это то, что я пытался ...
this.container.find(".add-auto").click(function() {
var options = that.element.find('option').not(":selected");
if (that.availableList.children('li:hidden').length > 1) {
that.availableList.children('li').each(function(i) {
if (jQuery(this).is(":visible") && jQuery(this).find("[industry = 'auto']")) jQuery(options[i-1]).attr('selected', 'selected');
});
} else {
that.availableList.children('li').each(function (i) {
if (jQuery(this).find("[industry = 'auto']")) jQuery(options[i-1]).attr('selected','selected');
});
}
that._populateLists(that.element.find('option'));
return false;
});
Это то, что вызывает инспекция на реальной странице. Кроме того, по какой-то причине я получаю дополнительный апостроф в отрасли = "авто". Повлияет ли это на конечные результаты? Если так, как я мог это исправить?