我想使用Javascript从RadGrid中的文本框中检索旧值而不是新值

时间:2015-04-15 13:16:12

标签: javascript telerik-grid

我在RadGrid中有textbox(txtCustomerID),值为" suraj"。当我点击复选框然后启用,那个时候我用" pawan"但我又点击复选框,那时我想要回复我的旧价值,例如" suraj"不是" pawan"。

下面是我的复选框更改功能:

 function rdoNewCustomer_OnClientCheckedChanged(sender, args) {

        var checked = sender.get_checked();
        var grid = $find("<%=rgvMultiContractAccept.ClientID %>");
        var masterTableView = grid.get_masterTableView();
        var index = sender.get_commandArgument();
        var row = masterTableView.get_dataItems()[index];

        if (checked == true) {

            row.findControl("txtCustomerID").enable(true);
            row.findControl("rdoAnotherJob").set_checked(false);


        }
        else {


            row.findControl("txtCustomerID").disable(true);
        }
    }

1 个答案:

答案 0 :(得分:0)

您可以使用data-*属性存储文本框的原始值。

启用文本框后,您将旧值存储到data-value属性,当它被禁用时,您可以从属性中检索旧值并将其重置为文本框。

这是更新的功能:

function rdoNewCustomer_OnClientCheckedChanged(sender, args) {
    checked = sender.get_checked();
    grid = $find("<%=rgvMultiContractAccept.ClientID %>");
    masterTableView = grid.get_masterTableView();
    index = sender.get_commandArgument();
    row = masterTableView.get_dataItems()[index];

    if (checked == true) {
        row.findControl("txtCustomerID").enable(true);
        findControl("rdoAnotherJob").set_checked(false);
        var jTextBox = jQuery(row.findControl("txtCustomerID"));
        // Save the original value to the data-value attribute
        jTextBox.attr('data-value', jTextBox.val());
    }
    else {
        var jTextBox = jQuery(row.findControl("txtCustomerID"));
        // Set the original value from the data-value attribute
        jTextBox.val(jTextBox.attr('data-value'));
        row.findControl("txtCustomerID").disable(true);
    }
}