2012-07-10 61 views
0

問題:正確數量不被顯示在文本框中

在「回答的號碼」文本框,它應該顯示的號碼1,但它不,它顯示數字2和它的原因是顯示此號碼是在按鈕更改之前,您選擇了2個字母按鈕,因此它在文本框中顯示2,因爲您之前選擇了2個字母按鈕。

現在,這是因爲這段代碼發生的事情:

$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');, 
$('.gridBtns').on('click', function()

,但我確實需要此代碼。

我需要這段代碼的原因是因爲讓我們說有7個字母按鈕「AG」,你打開所有的字母按鈕,文本框會顯示數字「7」,但如果我改變主意,我想只顯示5個字母按鈕「AE」,然後文本框將從「7」變爲「5」,因爲現在只有5個按鈕打開。這就是爲什麼我需要這個代碼。

所以我的問題是,如果用戶點擊了「添加」按鈕,我怎麼能從添加顯示在文本框中的行中的「答案數」列中的數字?

下面是我在那裏想在文本框中顯示的號碼時「添加」按鈕被點擊的代碼,但它是通過書面,因爲"$('#btn'+gridValues).trigger('click');",並在該代碼是

$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');, 

$('.gridBtns').on('click', function()

function addwindow(numberAnswer, gridValues, btn) { 

     $('#mainNumberAnswerTxt').val(numberAnswer); 
     $('#btn'+gridValues).trigger('click'); 

} 
+0

所以實際的問題是什麼? – Qnan 2012-07-10 13:39:46

+0

@MikhailKozhevnikov如果你按照以下步驟操作,在你點擊行內的「Add」按鈕之前,看一下該行中的「Number of Answers」列,它表示「1」,但是當你添加它時,文本框會顯示「2」,它會阻止b「1」 – user1490145 2012-07-10 13:56:55

回答

0

我認爲最重要的問題是:爲什麼你必須首先指定答案的數量和一組可能的答案?這是多餘的。如果你想擁有這種冗​​餘並且始終保持一致,你必須定義約束條件,例如將其中一個事物識別爲主要事件 - 或者文本框應始終顯示按下按鈕的數量(因此爲只讀)或(不太可能),按下的按鈕數量應始終等於文本框中的數字。

即使沒有「添加」按鈕,允許用戶獨立編輯這兩個元素也會導致您描述的類型不一致。我的意思是,我可以輸入「2」,然後繼續並儘可能標記所有答案。

+0

這是因爲在演示中,我做了不包括驗證,在我的完整應用程序中,有一個驗證,如果用戶在文本框中輸入2並且所選按鈕的數量超出或小於文本框中的數字,則會顯示警報。說實話,我正在考慮將它改爲你所說的,只將它變成紅色,並且每次選擇一個按鈕時,將它添加到文本框中。 – user1490145 2012-07-10 15:48:21

+0

我會改進我的代碼/演示,然後嘗試執行只讀的文本框內容,然後再回復給您,如果此問題仍需要修復。如果沒有問題,我會標記你的答案:) – user1490145 2012-07-10 15:57:54

0

我覺得你可以自定義屬性添加到指定誰觸發點擊按鈕,這樣,當.gridBtns元素,在用戶點擊就可以使用$的.gridBtns元素(這).attr(「cutom attri bute name「)並使用此值來檢查誰觸發了該操作,並且您將根據該操作做出反應。

+0

你可以舉個例子說明你的意思,所以我知道如何以及在哪裏編碼:) – user1490145 2012-07-10 13:57:39