收到ajax响应后,不工作调用jquery方法

时间:2014-04-18 10:44:26

标签: jquery response

执行ajax请求时会产生一些保护操作,即:

$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.calc").attr({"disabled":"disabled"}); // deactivate press CALCULATE
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").attr({"disabled":"disabled"}); // deactivate press CANCEL
$("#modal-afc-static > div > div > div.modal-header > button.close").attr({"disabled":"disabled"}) // deactivate press "X"

enter image description here

按钮取消 CALCULATE 和十字架" X "在顶部 - 锁定,分配给属性disabled="disabled"(此BootStrap)。

在服务器响应后,我想执行以下操作:

$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.calc").children().detach(); // remove button to Calculate
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").text("Close"); // change the name, click the CANCEL button to CLOSE
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").attr({"disabled":""}); // activate again the CLOSE button
$("#modal-afc-static > div > div > div.modal-header > button.close").attr({"disabled":"disabled"}) // activate again click the cross

enter image description here

如我们所见,只触发了函数.text("Close"),其他一切都失败了:

以下是程序操作发送数据并在变量数据中接收响应,程序标准(当您单击以计算示例代码时,会发生密钥保护,因为它有效并且可能不会表示它的意义):

// CalculateDataCurrentMonth - Asynchronous request to the server
function CommitDataCurrentMonth()
{
var sendMonth = $(".label.label-default.current-month").text();
sendPost_CommitDataCurrentMonth(url, { sendMonth: sendMonth, fnCommitDataCurrentMonth: true });
}

// Prepare POST request
function sendPost_CommitDataCurrentMonth(url, obj)
{
$.post(url,obj,onAjaxSuccess_CommitDataCurrentMonth);
}

// Display server response
function onAjaxSuccess_CommitDataCurrentMonth(data)
{
$("#modal-afc-static > div > div > div.modal-body > div.input-group.date").html(data);
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.calc").children().detach();
$("#modal-afc-static > div > div > div.modal-header > button.close").attr({"disabled":""});
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").text("Close");
$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").attr({"disabled":""});
}

1 个答案:

答案 0 :(得分:2)

您应该删除disabled属性,而不是提供其“/”任何其他值。即使您为其提供空白值,按钮仍将保持禁用状态。浏览器只检查是否存在disabled属性。 Fiddle展示disabled属性的正确值。

您可以使用jQuery removeAttr方法

$("#modal-afc-static > div > div > div.modal-footer > button.btn.btn-default.cancel").removeAttr("disabled"); 
$("#modal-afc-static > div > div > div.modal-header > button.close").removeAttr("disabled")

这可能会有助Correct value for disabled attribute