Невозможно сбросить / обновить параметры в jQuery Chosen в приложении rails - PullRequest
0 голосов
/ 08 марта 2019

Я разрабатываю приложение rails 5.1. Я использую selected плагин javascript в своем приложении, чтобы сделать поля выбора более удобными для пользователя.

На одной из моих страниц просмотра у меня есть 2 выбранных поля выбора. один для проекта и другой для задач. Требование - загружать только связанные задачи при изменении окна выбора проекта.

My View

<div class="form-group pad-right-one">
    <%= f.collection_select :task_project_id_eq, @projects.order(:number), :id, :project_with_number, { include_blank: 'Project' }, {class: 'chosen-select', onchange: "populateTaskFieldWithOptions()"} %>
</div>
<div class="form-group pad-right-one">
    <%= f.collection_select :task_id_eq, @tasks.order(:project_id, :number), :id, :task_with_number, { include_blank: 'Task' }, {class: 'chosen-select'} %>
</div>

Js код

Звонок Аякса, который я делаю, успешен, и я получаю все значения.

function populateTaskFieldWithOptions(){
    let projectId = $("#q_task_project_id_eq").val();
    $.ajax({
        type: "POST", 
        url: "/mail/getTasks",
        data: {project: projectId},
        success: 
        function(result){
            console.log("---Ajax Success----"); 
            document.getElementById('q_task_id_eq').selectedIndex = -1;
            var newOption = $('<option value="1">test</option>');
            $('#q_task_id_eq').append(newOption);
            $('#q_task_id_eq').trigger("chosen:updated"); 

           // Other options I tried ... 

           //$('#q_task_id_eq').trigger("liszt:updated");
           //$('#q_task_id_eq').val(' ').trigger('liszt:updated');
           //$('#q_task_id_eq').val(' ').trigger('chosen:updated');


        },
        error: 
        function(jqXHR, textStatus, errorThrown){
            console.log("---Ajax Error----")
            console.error('AJAX Error: ' + textStatus + errorThrown);
        }
      })
    };

Я не могу сбросить или обновить выбранный выпадающий список.

Любая помощь очень ценится. Заранее спасибо.

1 Ответ

0 голосов
/ 04 апреля 2019
 $(".chosen-select").chosen("destroy");
...