Итак, у меня есть установка данных с использованием YUI 2.0. И для одного из моих определений столбцов я настроил его так, чтобы при нажатии на ячейку появлялся набор опций переключателей, чтобы вы могли изменить содержимое этой ячейки.
Я хочу, чтобы все внесенные изменения были отражены в базе данных. Поэтому я подписываюсь на радио-клик-событие. Вот мой код для этого:
Ex.myDataTable.subscribe ("radioClickEvent", функция (oArgs) {
// hold the change for now
YAHOO.util.Event.preventDefault(oArgs.event);
// block the user from doing anything
this.disable();
// Read all we need
var elCheckbox = oArgs.target,
newValue = elCheckbox.checked,
record = this.getRecord(elCheckbox),
column = this.getColumn(elCheckbox),
oldValue = record.getData(column.key),
recordIndex = this.getRecordIndex(record),
session_code = record.getData(\'session_code\');
alert(newValue);
// check against server
YAHOO.util.Connect.asyncRequest(
"GET",
"inlineeddit.php?sesscode=session_code&",
{
success:function(o) {
alert("good");
var r = YAHOO.lang.JSON.parse(o.responseText);
if (r.replyCode == 200) {
// If Ok, do the change
var data = record.getData();
data[column.key] = newValue;
this.updateRow(recordIndex,data);
} else {
alert(r.replyText);
}
// unblock the interface
this.undisable();
},
failure:function(o) {
alert("bad");
//alert(o.statusText);
this.undisable();
},
scope:this
}
);
});
Ex.myDataTable.subscribe("cellClickEvent", Ex.myDataTable.onEventShowCellEditor);
Но когда я запускаю свой код, нажимаю на ячейку и нажимаю переключатель, ничего не происходит никогда. Я давно смотрю на это и понятия не имею, что я делаю не так. Я знаю, что вы также можете использовать asyncsubmitter в моем определении столбца, и я попробовал это, но это также не сработало для меня.
Любые идеи будут с благодарностью.