http://jsfiddle.net/7sARw/17/jQuery驗證不相關的HTML
以上工作是我的應用程序的的jsfiddle。我很抱歉,有很多代碼在小提琴中,但代碼是需要讓應用程序工作,我真的試圖削減很多代碼。
但請按照以下步驟使用的jsfiddle:
當您打開小提琴,點擊「打開網格」鏈接,選擇「真或假」的選項。您會看到「True」和「False」按鈕以及狀態爲1的文本輸入。如果您單擊「添加問題」按鈕,將出現一條提示,聲明您已選擇的答案少於所需數量。這是正確的,因爲文本輸入說明你需要
1
答案的數量,但你沒有選擇答案。所以選擇「True」或「False」,然後點擊「添加問題」按鈕。您會看到它在您輸入的表格中追加了一行。現在在行內關閉選定的按鈕,以使「True」或「False」按鈕都不打開。現在在應用程序的底部點擊「提交詳細信息」按鈕。你意識到沒有警報出現,說明你選擇了更少的答案。
這是我遇到的問題,當我點擊「提交詳細信息」按鈕時沒有出現警報,說明您已經選擇了較少的答案,這是怎麼回事?我知道提交按鈕將顯示其他驗證消息,所以在我如何調用函數時沒有任何問題,它位於validation()函數內,我正在驗證在出現問題時所選答案的數量。
下面是其在所述的jsfiddle底部的驗證的代碼:
function validation() {
var marks = parseInt($("#total-weight").text());
var _qid = "";
var _msg = "";
var maxQuestions = 5;
var questionsAdded = $('tr.optionAndAnswer').length;
var alertValidation = "";
// Note, this is just so it's declared...
$("tr.optionAndAnswer").each(function() {
_qid = $("td.qid", this).text();
_msg = "You have errors on Question Number: " + _qid + "\n";
$(".numberAnswerTxtRow", this).each(function() {
var currenttotal = $(this).closest('.optionAndAnswer').find('.answerBtnsOn').length;
if (currenttotal < $(this).val()) {
alertValidation += "\n\u2022 You have selected less answers than the required amount\n";
}
if (alertValidation != "") {
return false; //Stop the each loop
}
});
if (alertValidation != "") {
return false;
}
});
if (alertValidation != "") {
alert(_msg + alertValidation);
return false;
}
return true;
}
在jsfiddle中的「驗證()」被調用?據我可以告訴該功能沒有運行。 – Emily