2014-01-09 31 views
0

在我的jqGrid,我有一個文本框和按鈕。當點擊該按鈕時,我需要保存用戶輸入的文本框的值。我試過了,但是我沒有得到輸出。如何在jqGrid中單擊按鈕時檢索文本框的單元格內容?

以下是我colModel

{ name: 'Price', index: 'Price', width: 120, editable: true, edittype: "text", formatter: generateTextBox }, 
{ name: 'Checkout', index: 'Checkout', width: 120, editable: true, formatter: generateCheckoutBtn } 

我已經寫了自定義格式生成文本框和按鈕,代碼如下,

function generateTextBox(cellvalue, options, rowObject) { 
     return '<input type="text" size="10" maxlength="15" />'; 
    } 

然後我寫了一個函數來檢索文本框的值並叫做onclick裏面generateCheckoutBtn格式化程序,如下所示

function generateCheckoutBtn(cellvalue, options, rowObject) { 
     return '<button onclick="return getTextBoxValue(' + rowObject.Id + ')">Checkout</button>'; 
    } 

getTextBoxValue功能,如下

function getTextBoxValue(SelectedId) {    
     alert("RowId: " + SelectedId); 
     var txt = jQuery("#CheckList").jqGrid('getCell', SelectedId, 'Price'); 
     alert("" + txt); 
    } 

該函數返回ROWID正確使用警示檢查,但它TXT爲返回警報,

<input type="text" size="10" maxlength="15" /> 

我不知道如何獲取用戶輸入的單元格內容該文本框,然後將其保存到數據庫。以及當用戶點擊結帳按鈕時,不必鍵入文字,我必須製作提醒

任何幫助,將不勝感激!

+0

小提琴將是很好的解決這個問題。 – Anup

回答

0

對於輸入,也許你可以給它一個名字......

<input type="text" size="10" maxlength="15" name="yourtxtboxname" /> 

,然後使用該名稱傳遞它。

+0

對不起,它不起作用,你建議。 – prakash2089

0

您必須將每個單獨的文本框與唯一的ID區分開來。連接具有ROWID的文本框的ID在你格式化:

function generateTextBox(cellvalue, options, rowObject) { 
    return "<input type=\"text\" size=\"10\" maxlength=\"15\" id=\"textbox" + options.rowId + "\"/>"; 
} 

然後我們檢索值時,文本框裏面經常選擇:

function getTextBoxValue(SelectedId) {    
    alert("RowId: " + SelectedId); 
    var txt = $("#textbox" + SelectedId).val(); 
    alert("" + txt); 
} 
相關問題