Meilleure façon de créer une dynamique Select (liste Déroulante) liste?

J'utilise jQuery et jqGrid.

Je suis en train de remplir une liste de sélection de manière dynamique, un pour chaque ligne et j'ai besoin d'ajouter un événement click pour elle. Lorsque la liste de sélection est remplie, je prends l'index de l'élément que je veux sélectionnée, puis une fois tous les éléments sont à ajouter que je suis en train de régler l'élément sélectionné.

J'ai essayé

$("#taskList")[0].selectedIndex = taskIndex;
$("#taskList").selectOptions(taskIndex, true);
$("#taskList").val(1); //Tried to see if I could select any index and no luck.
$("#taskList option[value=" + taskIndex + "]").attr("selected", true);

Donc cela signifie que je suis probablement le remplissage de la liste de manière incorrecte...

var taskList = document.createElement("select");
var taskIndex = 0;
for (var i = 0; i < result.TaskTypes.length; i++) {
   $(taskList).addOption(result.TaskTypes[i].TaskId, result.TaskTypes[i].TaskName);
   if (result.TaskTypes[i].TaskName == rowData.TaskType)
    taskIndex = i;
}

Est-il un meilleur moyen?

J'ai essayé ceci, mais je ne pouvais pas ajouter de l'événement click pour elle. Le bon point a été choisi à l'issue d'.

var taskList = "<select name='taskList' Enabled='true'>";
for (var i = 0; i < result.TaskTypes.length; i++) {
    if (result.TaskTypes[i].TaskName == rowData.TaskType)
        taskList += "<option selected> " + result.TaskTypes[i].TaskName + "</option>";
    else
    taskList += "<option>" + result.TaskTypes[i].TaskName + "</option>";
}
taskList += "</select>";

OriginalL'auteur Brad8118 | 2009-02-27