jqTransform Update Выберите параметры - PullRequest
5 голосов
/ 12 августа 2011

Я динамически изменяю параметры списка выбора.Я использую плагин jqTransform.Он не будет обновляться автоматически, чего я не ожидал, но я могу найти способ обновления дисплея.Я даже не могу найти метод для его полного удаления.

Мне бы хотелось найти метод, например formelement.jqTransformUpdate (), который это исправит.Есть идеи?

Ответы [ 5 ]

3 голосов
/ 25 апреля 2012

Я знаю, что это старый вопрос, но, возможно, это кому-то поможет. Я не смог найти ответ, поэтому я заглянул в код jqtransform.js.

Просто прокомментируйте эту строку:

if($select.hasClass('jqTransformHidden')) {return;}

А потом, после запуска события "onchange":

$('#container select').jqTransSelect();
1 голос
/ 24 ноября 2011
function selectRating(rating) {
   $("#ratingModal .jqTransformSelectWrapper ul li a").each(function() {
     if (parseInt($(this).attr("index")) == rating - 1) {
         $(this).click();
     }
   });      
}

Функция JS, которую я использовал в своем собственном приложении, чтобы выбрать конкретную опцию с заданным рейтингом.Я думаю, что вы можете изменить его в соответствии с вашими потребностями.

Идея состоит в том, чтобы использовать обработчик событий a.click для выбора конкретной опции в преобразованном списке выбора.

0 голосов
/ 30 июня 2015

Может быть лучше, попробуйте добавить новый метод в jqtransform.js:

$.fn.jqTransSelectRefresh = function(){
    return this.each(function(index){
        var $select = $(this);

        var i=$select.parent().find('div,ul').remove().css('zIndex');
        $select.unwrap().removeClass('jqTransformHidden').jqTransSelect();
        $select.parent().css('zIndex', i);

    });
}

после этого, просто вызывайте его каждый раз, когда вам нужно обновить выпадающий список:

$('#my_select').jqTransSelectRefresh();
0 голосов
/ 26 сентября 2013

относительно этого:

Это добавляет еще один раскрывающийся список на страницу каждый раз, когда я вызываю его сейчас

Когда вы комментируете эту строку:

if($select.hasClass('jqTransformHidden')) {return;}

добавить это чуть ниже:

if($select.hasClass('jqTransformHidden')) $select.parent().removeClass();

это не очень элегантное решение, но оно работало в моем случае, новый выбор все еще вложен в дочерний элемент и т. Д., Но он работает нормально.

0 голосов
/ 16 сентября 2011

привет, пожалуйста, попробуйте следующее, чтобы выборочно повторно применить стиль к вновь созданному или поле выбора, возвращаемое из запроса ajax

$ ('# выбор контейнера'). JqTransSelect ();

...