2012-10-04 23 views
2

我在添加的行中顯示「True」,「False」,「Yes」和「No」按鈕時出現問題。回答按鈕(True,False,Yes和No)沒有出現

我這裏有一個應用程序:Application

請按順序使用的應用程序下列步驟操作:

1.當你打開的應用程序,你會看到一個綠色的加號按鈕,點擊 此按鈕,一個模式窗口將出現在內部的搜索欄中。

2.在搜索欄輸入以下「橙色」(不含雙引號),然後提交搜索。

3.在「問題」欄下,將出現一行與檢索詞匹配的術語 。你會在答案 列下看到答案是「真」的。請點擊「添加」按鈕 添加行中的內容。

4.您將看到右手邊,它顯示了 「真」與「假」按鈕和「真實」按鈕高亮顯示 綠色。這可以。

但低於是哪裏出現問題:

1.單擊「添加問題」按鈕,這將追加一行 下方,將控制從上面拷貝。

2.現在你剛纔附加,你會看到另一個綠色 加號按鈕,行內,點擊這個按鈕,然後重新執行步驟2和3。

您可以看到,在附加行內,它根本不顯示「True」或「False」按鈕。所以我的問題是,在附加行中,如果我從模態窗口添加一個問題,如果答案是「True」或「False」,它不會顯示「True」或「False」按鈕?這也出現在「是」和「否」按鈕上。

整個代碼顯示在這裏的jsfiddle(這將打開模式窗口的功能是在小提琴的JavaScript部分的底部):

http://jsfiddle.net/WZKrP/6/

CODE:

function plusbutton(plus_id) { 
    // Set global info 
    plusbutton_clicked = plus_id; 
    // Display an external page using an iframe 
    var src = "previousquestions.php"; 
    $.modal('<iframe src="' + src + '" style="border:0;width:100%;height:100%;">'); 
    return false; 
} 

    function addwindow(numberAnswer, gridValues, btn) { 

     if (btn == "True" || btn == "False" || btn == "Yes" || btn == "No") { 
      var answers = '#answer' + btn; 
      var answersrow = '#answer' + btn + 'Row'; 
     } else { 
      var answers = $.map(btn.split(''), function(chr) { 
       return "#answer" + chr; 
      }).join(', '); 
      var answersrow = $.map(btn.split(''), function(chr) { 
       return "#answer" + chr + "Row"; 
      }).join(', '); 
     } 

     var myNumbers = {}; 
     myNumbers["True or False"] = "True or False"; 
     myNumbers["Yes or No"] = "Yes or No"; 

     gridValues = myNumbers[gridValues]; 

     if ($(plusbutton_clicked).attr('id') == 'mainPlusbutton') { 



      if (gridValues == "True or False") { 
       $('#btn' + 'TrueorFalse').trigger('click'); 

      } 

      else if (gridValues == "Yes or No") { 
       $('#btn' + 'YesorNo').trigger('click'); 
      } 



      $('#answerSection').find('.answerBtnsOn').trigger('click'); 
      $(answers).trigger('click'); 

     } else { 

      if (gridValues == "True or False") { 
       $(plusbutton_clicked).closest('tr').find('input.gridTxtRow').val(gridValues).parent().append($('.optionTypeTbl')); 
       $('#btn' + 'TrueorFalse').trigger('click'); 

      } 

      else if (gridValues == "Yes or No") { 
       $(plusbutton_clicked).closest('tr').find('input.gridTxtRow').val(gridValues).parent().append($('.optionTypeTbl')); 
       $('#btn' + 'YesorNo').trigger('click'); 
      } 


     } 

     $('#btn' + gridValues).trigger('click'); 
     $(plusbutton_clicked).closest('tr').find('.answerBtnsOn').trigger('click'); 
     $(plusbutton_clicked).closest('tr').find(answersrow).trigger('click'); 


     $.modal.close(); 
     return false; 
    }​ 

HTML頂級plusbutton:

<table id="question"> 
<tr> 
<td colspan="2"> 
<a onclick="return plusbutton();"> 
<img src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage" id="mainPlusbutton" name="plusbuttonrow"/> 
</a> 
<span id="plussignmsg">(Click Plus Sign to look up Previous Questions)</span> 
</td> 
</tr> 
</table> 

下面是jQuery代碼它附加於各行的plusbutton:

$('.plusimage').each(function() { 

    var $this = $(this); 
var $plusimagerow = $("<a onclick='return plusbutton(this);'><img src='Images/plussign.jpg' width='30' height='30' alt='Look Up Previous Question' class='imageplus'/></a>").attr('name',$this.attr('name')+"[]") 
       .attr('value',$this.val()); 

$plusrow.append($plusimagerow); 

}); 

回答

2

沒有與內嵌樣式definiton爲每個按鈕(一個問題<input class='answerBtnsRow answers' type='button' style='**display:none**' ...>只要你申請的CSS類answerBtnsOn沒有指定的更改顯示回指令內聯,區塊等您可以添加一行到answerBtnsOn類,但使用!important指令,這樣它將覆蓋由jQuery代碼定義的內聯樣式:display:inline !important

另一種方法是利用jQuery(例如:$('#element').css('display', '');)在jQuery腳本中更改或刪除內聯樣式,並將按鈕設置爲不可見。

我肯定會更新answrBtnsOn和answerBtnsOff類,以避免任何內聯樣式定義。

希望這可以幫助....請讓我們知道,如果您有任何問題或疑慮。

+0

那麼你是說'display:inline!important'更好還是利用jquery? – user1701484

+0

恩,這真的取決於你。我喜歡將所有或大部分CSS定義放在.css文件中。它可以更好地控制進一步的調整。無論你做什麼它應該工作... – salih0vicX

+0

如果你不介意,你可以幫我個忙嗎,你能展示如何利用jquery提供的小提琴,它會更容易和更快,讓我看看它去哪裏。然後我可以直接給你點數 – user1701484

0

看我不認爲我理解你。這是你想要做什麼? enter image description here

+0

是的,但在其中一個行中,點擊綠色加號按鈕,然後執行搜索並選擇一個問題添加,你會意識到「真」/「假「按鈕不顯示 – user1701484

+0

好的,我明白了。你需要調用與top + click相同的功能。我會檢查代碼,但如果你只是發佈問題代碼,你會更好。沒有人知道像你這樣的應用程序,所以它會更快。 –

+0

返回plusbutton()與返回plusbutton(this)有什麼不同?我試圖瞭解你想做什麼。你的問題非常冗長,我的注意力很短。 –