1
我有一個應用程序[這裏] [1],用戶可以選擇他們的選項和答案。請按照以下步驟申請。如何在點擊「添加」按鈕後更改答案按鈕?
- 第1步:當您打開應用程序時,你會看到「打開網格」鏈接, 單擊它並選擇一個選項類型,你選擇一個選項後, 將在底部顯示的答案按鈕。例如,如果您選擇的 選項爲「5」,則它將顯示5個應答按鈕「A-E」, 如果選項選擇爲8,則將顯示8個應答按鈕「A-H」。
現在這很好。正如您所看到的,根據從網格中選擇的選項顯示正確數量的答案按鈕。但是我的問題是如果用戶想要添加以前的選項。請看下面的步驟:
- 第2步:您會看到左手邊一個綠色的加號按鈕,點擊它 ,這將打開一個模態窗口。
- 步驟3:在搜索框中輸入「AAA」,然後點擊「提交」按鈕,它將顯示來自數據庫的行。
- 第4步:如果你看第一行,你可以看到在「選項類型」列下,它是A-D。點擊「添加」按鈕選擇此行。
會發生什麼事是, 模態窗口將關閉,如果你看一下答案,選項 在右手側控制,你可以看到選項類型 文本框包含數字4(這是因爲選項類型是「AD」,所以有4個選項「A,B,C,D」),所以它應該顯示答案按鈕AD但它沒有,它根本不會改變答案按鈕,它們仍然是相同。
所以我的問題是我怎麼才能得到正確的答案按鈕出現在用戶點擊「添加」按鈕後?
下面是它進口的答案按鈕選項從電網選擇後的代碼:
$('.gridBtns').on('click', function()
{
var clickedNumber = this.value;
$(this).closest('.option').siblings('.answer').find('.answers').each(function(index) {
if (!isNaN(clickedNumber) && index < clickedNumber) {
$(this).show();
} else {
$(this).hide();
$(this).removeClass('answerBtnsOn');
$(this).addClass('answerBtnsOff');
}
var $this = $(this);
var context = $this.parents('.optionAndAnswer');
console.log($this);
});
if (clickedNumber === 'True or False') {
$(this).closest('.option').siblings('.answer').find('input[name=answerTrueName]').show();
$(this).closest('.option').siblings('.answer').find('input[name=answerFalseName]').show();
} else if (clickedNumber === 'Yes or No') {
$(this).closest('.option').siblings('.answer').find('input[name=answerYesName]').show();
$(this).closest('.option').siblings('.answer').find('input[name=answerNoName]').show();
}
getButtons();
});
});
function getButtons()
{
var i;
if (initClick == 0) {
for (i = 65; i <= 90; i++) { // iterate over character codes for A to Z
$("#answer" + String.fromCharCode(i)).removeClass("answerBtnsOn").addClass("answerBtnsOff");
}
initClick = 1;
}
// code above makes sure all buttons start off with class answerBtnsOff, (so all button are white).
}
下面是函數,其中它控制「添加」按鈕被點擊後,會發生什麼:
function addwindow(numberAnswer,gridValues) {
if(window.console) console.log();
if($(plusbutton_clicked).attr('id')=='mainPlusbutton') {
$('#mainNumberAnswerTxt').val(numberAnswer);
$('#mainGridTxt').val(gridValues);
} else {
$(plusbutton_clicked).closest('tr').find('input.numberAnswerTxtRow').val(numberAnswer);
$(plusbutton_clicked).closest('tr').find('input.gridTxtRow').val(gridValues);
}
$.modal.close();
return false;
}
開放的網格鏈接似乎被打破,得到一個錯誤'價值是未定義的' – quickshiftin 2012-07-06 17:10:49
@quickshiftin你確定,因爲我測試了它,它似乎很好。不要使用Internet Explorer。如果有的話,請使用chrome或firefox – user1490145 2012-07-06 17:24:44
@ user1490145您的應用程序可以在任何瀏覽器上使用,先生。 – 2012-07-06 17:29:16