2015-03-19 16 views
0

我在HTML中創建了一個表,當人從項目列表中選擇一個項目時,該表會更新。我希望當表格單元格更新時,它應該只選取所選項目的兩個單詞,並且如果所選項目是三個單詞,則第三個單詞應該在單元格的下一行上打印。如何讓一列表中的每行只有兩個字在jQuery中?

這是從那裏的項目被選中

<table> 
    <tr> 
     <td style="text-align:left;"><input type='checkbox' name='it's 2' value='Two Words'>Two words</input> 
     </td> 
     <td style="width:200px;"></td> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
    <tr> 
     <td style="text-align:left;"> 
      <input type='checkbox' name='this is three' value='Three Words' >Three words Next line</input> 
     </td> 
     <td style="width:200px;"></td> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
</table> 

這是更新HTML表格HTML表格...

<table border="1" class="table2"> 
    <tr> 
     <td>Name</td> 
     <td>Value</td> 
    </tr> 
    <tr> 
     <td class="text"></td> 
     <td class="value"></td> 
    </tr> 
</table> 
</div> 

我想首先的第二個元素表格被選中時打印在第二張桌子上,但在兩行中,第一行將有「三個字」,第二行將在第二張桌子的同一單元格中具有「下一行」。 Pl幫助。

jQuery代碼:

$('input[type="checkbox"]').click(function(){ 
    if($(this).is(":checked")){ 
     var x = $(this).val(); 
     $('.text').append(x + ' <br />').show(); 
     var z = $(this).attr('name'); 
     $('.value').append(z + ' <br />'); 
    } 
    else if($(this).is(":not(:checked)")){ 
     var x = $(this).val(); 
     var y = $('.text').text().replace(x, ''); 
     $('.text').text(y).show(); 
     $('.text').append('<br/>'); 
     var z = $(this).attr('name'); 
     var a = $('.value').text().replace(z, ''); 
     $('.value').text(a).show(); 
     $('.value').append(' <br/>'); 
    } 
}); 
+0

分享你已經嘗試或設置一個的jsfiddle – mohamedrias 2015-03-19 05:24:07

+0

我都試過,但我的邏輯不適合我的代碼.. pl幫助。 – 2015-03-19 05:37:44

回答

0

要拍攝前兩個字:var theTwoWords = yourText.match(/([a-zA-Z]+\s+[a-zA-Z]+)/)[0];要獲得這些之後接下來的兩個:var theNextTwoWords = theTwoWords.substr(theTwoWords.length + 1);

相關問題