2013-09-29 3 views
0

J'ai passé presque deux jours à essayer de résoudre ce problème. J'ai le popup modal avec la liste checbox dynamique (générée à partir de la base de données) et le bouton de fermeture sur le popup modal. Ce que je veux, c'est que lorsque l'utilisateur clique sur le bouton 'Fermer', alors la fenêtre modale est fermée mais en même temps je veux que toutes les valeurs de checbox sélectionnées soient sauvegardées en chaîne.Case à cocher Jquery-fetch les valeurs sélectionnées et enregistrez-les dans les cookies au bouton de fermeture modale. Cliquez sur

<asp:Button ID="btnHide" runat="server" Text="Close" OnClick="btnHide_Click" OnClientClick="HideModalPopup()"/> 

protected void btnHide_Click(object sender, EventArgs e) 
     { 
      string names=checkCheckboxes(); //calling WORKING function which reutrns all selected checboxes from modal popup in a string, splited by comma 
      Response.Write(names); //trying to write 'names' variabile which contains all selected checboxes on screen 
     } 

fonction jQuery:

function HideModalPopup() { 
    $find("mpe").hide(); 
    return false; 
} 

Le problème est que lorsque je clique sur le bouton de fermeture, pop-up modale disparue, mais pas de valeurs sont enregistrées dans VARIABILE « noms » dans la méthode btnHide_Click. Comment puis-je obtenir des cases à cocher sélectionnées de modal popup à cette fonction? Quel est le problème avec ce code?

S'il vous plaît aidez-moi.

Répondre

1

Vous pouvez le faire via un appel ajax. Dans votre fonction client où vous masquez la boîte modale avant d'aller chercher toute la valeur cochée en utilisant .each() jquery n puis appelez la requête ajax et enregistrez-la dans votre base de données.

function HideModalPopup() { 
    var fetchAllChkbox= $("input[name=chkboxName]:ch ecked").map(function() {return this.value;}).get().join(","); 

     $find("mpe").hide(); 
     // $.ajax call to save to database etc 
     return false; 
    } 

Remarque- herechkboxName est le nom de chkboxss,


Mise à jour Réponse: Récupère toutes les valeurs de cases à cocher sélectionnées dans une variable et créer session de cookie et de définir la valeur sélectionnée pour elle.

JQuery:

$(document).ready(function() { 
    $("#clkme").click(function() { 
     var getValue = ""; // get vall checkbox selected values 
     $("[id*=CheckBoxList1] input:checked").each(function() { 
     var Value = $(this).val(); 
     getValue += Value + ","; 
     }); 
     $.cookie('your_cookie_name', getValue); // set cookies 
     alert($.cookie('your_cookie_name')); // read cookies and alert it 
    }); 
    }); 

balisage Html:

<asp:CheckBoxList ID="CheckBoxList1" runat="server"> 
</asp:CheckBoxList> 
    <div id="clkme">CLICK ME</div> 

Note: il suffit d'importer ce cookie.js https://github.com/carhartl/jquery-cookie

+0

J'ai besoin d'écrire le variabile 'noms de cookie " via "méthode btnHide_Click. Est-ce même possible? – michael24B

+0

Oui la boucle sur la case à cocher et récupérer les vaules enregistrer dans une variable ou définir à un champ caché. Cela peut être fait côté client frm, plus tard si vous pouvez enregistrer dans la base de données avec l'appel ajax, en ajax vous pouvez passer ce paramètre amd sur le serveur getthose valeur –

+0

Ok, maintenant je dois comprendre les noms de checbox, parce que maintenant chaque checbox avoir un nom différent beacuse de checboxlist. Première case à cocher - ctl00 $ CheckBoxList1 $ 1, second-ctl00 $ CheckBoxList1 $ 2, etc. – michael24B

Questions connexes