あるリストボックスから別のリストボックスに追加/削除するための2つのリストボックスとボタンを備えたテーブルを作成するJQueryおよびAJAX関数があります。このテーブルを JQGrid の編集ダイアログ ボックスに挿入したいと考えています。追加または編集ボタンをクリックするとテーブルが表示され、ユーザーは項目を追加でき、対応するセルが編集されます。
Java スクリプトと AJAX:
function create_listbox() {
var html = '<select id="ddlRoles" size="7" multiple></select>';
var selected = '<select id="ddlSelectedRoles" size="7" multiple></select>';
var table = '<table id="table1" border="3"></table>';
var tr = '<tr id="tr1"></tr>';
var td1 = '<td id="td1"></td>';
var td2 = '<td id="td2"></td>';
var td3 = '<td id="td3"></td>';
var addButton = '<button id="add" onclick="addRole()">Add Role</button><br>';
var removeButton = '<button onclick="removeRole()">Remove Role</button><br>';
$('#whatever').append(table);
$('#table1').append(tr);
$('#tr1').append(td1);
$('#tr1').append(td2);
$('#tr1').append(td3);
$('#td1').append(html);
$('#td2').append(addButton);
$('#td2').append(removeButton);
$('#td3').append(selected);
$.ajax({
url: "MyApplication.asmx/GetRoles",
data: "{ }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
// alert(data.d);
for (var i = 0; i < data.d.length; i++) {
$('#ddlRoles').append("<option value=\"" + data.d[i].RoleID + "\">" + data.d[i].RoleName + "</option>")
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus + ":" + errorThrown);
}
});
}
EditTypeCustomElement と EditTypeGetCustomValue が必要であることはわかっていますが、これを達成する方法については完全に困惑しています。
テーブルを追加する create_listbox 関数で $table.get(0) を返そうとしましたが、子要素は追加されません。何か助けはありますか?