229 messaggi dal 20 novembre 2014
Ciao a tutti,
ho un problemuccio che mi sta snervando già da un poco, premetto che l'effetto desiderato è quello di "excel" ossia che cliccando sulla dropdownlist mi permetta di selezionare le voci presenti in modo tale da poter filtrare con una query. Ho seguito questo howto http://www.c-sharpcorner.com/article/dropdown-with-multiple-checkbox-select-with-jquery-in-mvc-5/

e quello che dimostra lui è abbastanza semplice, il mio problema è che ho bisogno di chiamare ajax per ottenere una lista da andare a caricare su quella <select>, ajax funziona regolarmente vedo i dati passati etc etc ma quando clicco sulla casellina per la selezione come per magia i dati stanno dietro e non c'è verso di portarli avanti cioè vedo la tendina che scende ed è come se andasse a finire dietro e non leggo il contenuto... ho provato con lo z-index ma niente, ho provato a "ricaricare" la tendina sempre dentro ajax ma niente... non ho più idee spero qualcuno possa aiutarmi.

Lascio un po' di codice

html
<select id="EmpList" multiple="multiple" >
</select>
<input type="button" id="btnSelected" value="test" onclick="getGruppi();" />


js

$(function () {
        $('#EmpList').multiselect({
            includeSelectAllOption: true
        });

        //$('#btnSelected').click(function () {
        //    var selected = $("#EmpList option:selected");
        //    var message = "";
        //    selected.each(function () {
        //        message += $(this).text() + " " + $(this).val() + "\n";
        //    });
        //    alert(message);
        //});
    });

function getGruppi() {
        $.ajax({
            url: '@Url.Action("getGruppi", "ProgrammazioneAT")',
            dataType: 'JSON',
            cache: false,
            type: "POST",
            success: function (data) {
                var list = $('#EmpList');
                //list.find('option').remove();
                //list.empty();
                $.each(data, function () {
                    //list.append('<option value="' + this.Value + '">' + this.Text + '</option>');
                    // list.append('<option value="ciao">ciao</option>');

                    list.append(
                        $('<option></option>').val(this.Value).html(this.Text)
                    );


                    //var option = document.createElement("option");
                    //option.text = this.Text;
                    //option.value = this.Value;
                    //var select = document.getElementById("#EmpList");
                    //select.appendChild(option);

                })

                $('#EmpList').multiselect({
                    includeSelectAllOption: true
                });

            },
            error: function (xhr, status, exception) {
                console.log("Error: " + exception + ", Status: " + status);
            }
        });

    }

Grazie a chiunque voglia provarci
ciao
27 messaggi dal 06 dicembre 2011
Ciao,
per caso non hai delle direttive CSS che ti creano questo effetto?
Hai provato a testare la cosa in una pagina/progetto pulito?
229 messaggi dal 20 novembre 2014
Ciao a dire il vero non ho provato coi css ma il problema è se tento di caricare le option dinamicamente se ne scrivo qualcuna manualmente per prova funziona a meraviglia... questo è strano
229 messaggi dal 20 novembre 2014
Ciao a tutti,
problema risolto a quanto pare è un problema di "aggiornamento", mi è bastato inserire

$("#EmpList").multiselect('rebuild');

e come per magia sono comparse le voci inserite con ajax
Grazie
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.