2
我正在使用play 1.2.5。在我的觀點之一,我有一個數據表,在這是一列是可編輯的。爲此,我使用jquery.dataTables.js和jquery.jeditable.js插件。在ajax視圖中使用jeditable的Playframework
現在,當我向字段中輸入新值時,我遇到了ajax調用的問題。我創建了一個應該在每次編輯行時調用的操作,但這不起作用。行動不會被調用,有人可以看到我的錯誤?
感謝
這裏是我的行動,首先我要看到其被稱爲
public static void configurationChange(SendAllSysParameter para){
Logger.info("incoming configuration change", null);
}
這是我的觀點:
#{extends 'main.html' /}
#{set title:'Sendall Configuration Page' /}
#{script 'jquery.dataTables.js'/}
#{stylesheet 'demo_page.css' /}
#{stylesheet 'jquery.dataTables.css' /}
#{script 'jquery.jeditable.js' /}
<div class="pdx_std_north_panel">
<table id="table_id" class="display">
<thead>
<th>Property</th>
<th>Value</th>
</thead>
<tbody>
#{list items:paras, as:'elem' }
<tr id="${elem.sendAllKey}">
<td id="${elem_index}">${elem.sendAllKey}</td>
<td id="${elem_index}">${elem.sendAllValue}</td>
</tr>
#{/list}
</tbody>
</table>
<script type="text/javascript">
$(document).ready(function(){
var oTable = $('#table_id').dataTable();
//alert("Test2");
var configurationChangeRoute = #{jsRoute @Application.configurationChange(':element') /};
console.log('configurationChangeRout mit jsRoute-Tag: ' + configurationChangeRoute.url);
var configurationChangeAction = #{jsAction @Application.configurationChange(':element')/};
console.log('configurationChangeAction mit jsActionTag: ' + configurationChangeAction);
//alert(configurationChangeRoute.url);
//alert(configurationChangeAction);
/* Apply the jEditable handlers to the table */
$('td:eq(1)', oTable.fnGetNodes()).editable(configurationChangeAction, {
"callback": function(sValue, y) {
console.log('callback with svalue ' + sValue + ' and y ' + y);
var aPos = oTable.fnGetPosition(this);
oTable.fnUpdate(sValue, aPos[0], aPos[1]);
},
"submitdata": function (value, settings) {
console.log('submitdata');
return {
"row_id": this.parentNode.getAttribute('id'),
"column": oTable.fnGetPosition(this)[2]
};
},
"height": "14px"
});
而且我的模型:
package models;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import play.db.jpa.GenericModel;
import play.db.jpa.Model;
@Entity
@Table(name="SendAll_SysParameter")
public class SendAllSysParameter extends GenericModel
{
@Id
@Column(name = "sendAllKey", unique = true, nullable = false)
public String sendAllKey;
@Column(name = "sendAllValue")
public String sendAllValue;
@Column(name = "sendAllDate", nullable = false, length = 23)
public Timestamp sendAllDate;
}
我發現這個問題,我宣佈路由到我的ajax網址爲GET,但它是POST,所以它沒有被發現。錯誤日誌是正確的;-) –
請添加,作爲答案,並接受它:) –