2017-04-10 5 views
-3

Ich möchte die Daten-ID des ausgewählten Elements im Pop-up erhalten. ich muss die Auswahl im Grid anzeigen, dessen Lösung Sie angegeben haben. aber für Datenbankspeicher brauche ich den ID-Wert der Auswahl ... wie kann ich die ID im Grid bekommen und binden? Wie kann ich die Daten-ID eines Elements erhalten?

<script type="text/javascript"> 
 
     $(function() { 
 
      // declaration 
 
      $("#lognForm").ejDialog(
 
       { 
 
        enableModal: true, 
 
        enableResize: false, 
 
        width: 291, 
 
        close: "onDialogClose", 
 
        containment: ".cols-sample-area", 
 
        showFooter: true, 
 
        footerTemplateId: "sample" 
 
       }); 
 
      $("#defaultlistbox").ejListView({ dataSource:ej.DataManager({ 
 
       url: "http://js.syncfusion.com/ejServices/Wcf/Northwind.svc/", crossDomain: true 
 
      }), 
 
\t \t \t query: ej.Query().from("Suppliers").select("SupplierID", "ContactName"), 
 
\t \t \t fieldSettings: { text: "ContactName"},mouseUp: "onmouseup",height:"400px" ,enableCheckMark: true, 
 
      enableFiltering: true, \t \t \t 
 
\t \t 
 
\t \t \t }); 
 

 
      $("#btnOpen").ejButton({ size: "medium", "click": "onOpen", type: "button", height: 30, width: 172 }); 
 
      $("#Grid").ejGrid({ 
 
       columns: [ 
 
         { field: "title", headerText: "ListviewData", width: 80 }, 
 
       ] 
 
      }); 
 
      $("#btn1").ejButton({ size: "medium", "click": "onbtnOpen", type: "button", height: 30, width: 172 }); 
 

 
     }); 
 

 

 
     function onOpen() { 
 
      $("#btnOpen").hide(); 
 
      $("#lognForm").ejDialog("open");   
 
     } 
 
     function onbtnOpen(){ 
 
      $("#lognForm").ejDialog("close"); 
 
     } 
 
     function onDialogClose(args) { 
 
      $("#btnOpen").show(); 
 
     } 
 

 
     function onmouseup(e) { 
 
      var selections = $('#defaultlistbox').ejListView("getCheckedItems"); 
 
      var items = []; 
 
      $(selections).each(function() { 
 
       var $this = $(this); 
 
       var item = { title: $this.find("span").html() }; 
 
    
 
      items.push(item); 
 

 
      }); 
 
      if (selections.length > 0) { 
 
       var obj = $("#Grid").ejGrid("instance"); 
 
       obj.setModel({ dataSource: items }) 
 
       obj.refreshContent(); 
 
     } 
 
     else{ 
 
     var obj = $("#Grid").ejGrid("instance"); 
 
     obj.dataSource([]); \t } 
 
    } 
 

 
    </script>
<li class="e-user-select e-list e-list-check e-state-default" data-id="2">

+0

In jQuery können Sie einfach '.data ('id')' auf dem übereinstimmenden Element aufrufen, um diesen Wert zu erhalten. Hast du das versucht? – David

+0

@David: Sie könnten, aber nur, wenn Sie wirklich den jQuery Datencache für das Element initialisieren möchten. Wenn Sie nur den Wert möchten, ist 'data' übertrieben. –

Antwort

0

Wenn Sie einen Verweis auf die JavaScript DOM-Objekt haben, schauen Sie einfach für die dataset Eigenschaft. Es ist eine Hashmap, die Stringschlüssel enthält, die auf Ihrem HTML-Element mit dem Präfix data stehen. Zum Beispiel finden Sie data-id auf Ihr Objekt als myObject.dataset["id"].

Verwandte Themen