2012-04-09 20 views
0

Ich bin neu in jQuery. Ich wollte einen Satz von Bild Taste erzeugt, so wie ich diese Wie Sie das Klickereignis für die dynamisch generierte Schaltfläche festlegen

<script type="text/javascript"> 
$(document).ready(function(){ 
    $.support.cors = true; 
    if ($('#ulTask li').length == 0) 
    { 
     $.ajax({ 
      type: "POST", 
      url: "http://diana/TaskManagerWebService/TaskManagerService.asmx/SelectAllTasks", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: OnSuccess, 
      error: OnError 
     }); 
     function OnSuccess(TaskData){   
      var TaskDataObj = jQuery.parseJSON(TaskData.d);     
      $.each(TaskDataObj, function (i, v) { 
       var TaskTypeUrl = getTaskTypeImageURL(TaskDataObj[i].TaskType), TaskId = parseInt(TaskDataObj[i].TaskId); 
       $("#ulTask").append('<li id="liTask'+TaskDataObj[i].TaskId+'"><div id="divTask'+TaskDataObj[i].TaskId+'"><img id="imgCollapse'+TaskDataObj[i].TaskId+'" alt="' + TaskDataObj[i].TaskId + '" src="Images/story_collapsed1.png" onclick="javascript:FillTaskDetails('+TaskDataObj[i].TaskId+');"/>' + TaskDataObj[i].TaskName + '</div></li>'); 
      }); 
     } 
     function OnError(request, status, error){     
      alert(request.statusText); 
     } 
    } 
}); 
</script> 

für das Bild gemacht habe, die ich in li-Tag binded Onclick-Ereignis haben.

onclick="javascript:FillTaskDetails('+TaskDataObj[i].TaskId+');" 

Ich wollte, dass die Click-Ereignis in Abfrage Format zuweisen wie

$("#imageId").click(function(){ 
}); 

, wie ich dieses "imageId" erhalten, Eigentlich ist dieser imageid ist eine Kombination aus Text und dynamischen Wert

<img id="imgCollapse'+TaskDataObj[i].TaskId+'"....... 

Vielen Dank im Voraus

Antwort

0

Erstellen Sie das Bild diese Bilder mit einem eindeutigen Klassennamen

<img class="imgCollapse" id="imgCollapse'+TaskDataObj[i].TaskId+'"....... 

Dann

$(".imgCollapse").live("click",function(event){ 
    event.preventDefault(); 
    taskID = $(this).attr('id').replace('imgCollapse',''); 
    //console.log(taskID); 
    FillTaskDetails(taskID); 
}); 
+0

kippe wir tun dies mit der ID –

+0

ID eines Elements mit einer Live-Click-Ereignis für das img class binden sollte einzigartig für eine Webseite sein. Wenn Sie mehrere Elemente mit ID haben, wählen Sie mit dem jQuery-ID-Selektor nur das erste Element und nicht alle Elemente aus. –

0

try .live()

$("#imageId").live("click",function(){ 
    // Code is here ... 
}); 
Verwandte Themen