2012-07-09 12 views
0

我甲肝PHP代碼它顯示從AZ按鈕:如何找回ID的

<table id="optionAndAnswer" class="optionAndAnswer"> 
    <tr class="answer"> 
    <td>3. Answer</td> 
    <td> 
     <?php 
      $a = range("A","Z"); 
     ?> 

     <table id="answerSection"> 
      <tr> 

     <?php 
      $i = 1; 
      foreach($a as $key => $val){ 
       if($i%7 == 1) echo"<tr><td>"; 
       echo"<input type=\"button\" onclick=\"btnclick(this);\" value=\"$val\" id=\"answer".$val."\" name=\"answer".$val."Name\" class=\"answerBtns answers answerBtnsOff\">";  
       if($i%7 == 0) echo"</td></tr>"; 
       $i++; 
      } 
     ?> 

... 

我所試圖做的是建立在jQuery的上面的代碼模板,這樣如果用戶想增加這些按鈕放到一個塊中,然後jquery可以用來在一個塊中添加這些按鈕,就像模板一樣。

下面是jQuery代碼:

var $this, i=0, $row, $cell; 
$('#optionAndAnswer .answers').each(function() { 
    $this = $(this); 
    if(i%7 == 0) { 
     $row = $("<tr/>").appendTo($answer); 
     $cell = $("<td/>").appendTo($row); 
    } 
    var $newBtn = $("<input class='answerBtnsRow answers' type='button' style='display:%s;' onclick='btnclick(this);' />".replace('%s',$this.is(':visible')?'inline-block':'none')).attr('name', $this.attr('name')).attr('value', $this.val()).attr('class', $this.attr('class')); 


    $newBtn.appendTo($cell); 

    i++; 
}); 

現在這工作得很好,但我有一個問題。如果你看看php代碼,每個按鈕都有自己的id,在我的jquery代碼中,每個按鈕都沒有自己的id。在我的jQuery代碼中,我希望每個按鈕都具有與其代碼相同的代碼,除了唯一的區別是我希望jQuery按鈕ID以「Row」結尾。例如。如果php中的按鈕F的ID是#answerF,那麼我想讓jquery中的按鈕F具有ID #answerFRow

我的問題是這可能嗎?將這段代碼可以檢索從PHP代碼的按鈕ID,如果我把它放在jQuery代碼:

.attr('id', $this.attr('id')) 

我如何在結尾的單詞「行」?

+0

感謝大家爲你的答案:)所有的解決方案都會很好的工作 – user1490145 2012-07-09 14:02:45

回答

0
.attr('id', $this.attr('id')+'Row') 

PHP只是生成文本,HTML,瀏覽器讀取,然後呈現。所以,如果PHP代碼寫入ID,那麼jQuery可以讀取它們。

0

最好的辦法是創建PHP對象JavaScript數組對象,然後使用這個數組對象檢索ID

lang=new Object(); 
<? foreach($a as $key=>$value){ ?> 
    lang[<?=$key?>] ='<?=$value?>' 
<? } ?> 

現在你可以使用這個Java腳本對象「郎」,讓您的鍵值。

+0

所以你說這應該是這樣的:'.attr('id',$ this.attr(' id')+「Row []」)' – user1490145 2012-07-09 13:53:01

+0

請檢查編輯的文章 – 2012-07-09 14:01:14

0

Javascript將連接字符串與+運算符,str='over'+'flow'; PHP連接字符串與。 operator $str='over'.'flow';因此,在你的jQuery中,它可以是:.attr('id', this.id+'ROW')