2013-04-23 72 views
-1

我是新手,當涉及到jQuery,但感謝另一個stackoverflow成員我有一些代碼,它允許用戶單擊一個單選按鈕,並讓它添加一個表格行充滿文本他們點擊的單選按鈕鏈接。這裏是jQuery代碼:使用jQuery來讀取動態創建的內容

$('.addRow').click(function() { 
    var tr = $(
     '<tr><td class="cat"></td>' 
     + '<td class="sel"></td>' 
     + '<td><textarea name="cmo-paragraph[' + count + ']">Click to edit (id ' 
     + count 
     + ')</textarea></td></tr>' 
    ); 

    $('.mainTable > tbody:last').one().append(tr); 
    tr.find(".cat").text($(this).closest("li.category").attr("title")); 
    tr.find(".sel").text($(this).closest("li.select").attr("title")); 
    count++; 
}); 

這裏的電臺列表的一個片段:

<li class="category" value="1" title="Chronic Pain Referral">Chronic Pain Referral 
    <ul> 
     <li class="select" title="Chronic referral"> 
      <input type="radio" class="addRow" id="radio1" name="modalities" value="1"> 
      <label for="radio1">Chronic referral</label> 
     </li> 
    </ul> 
</li> 

這會成功,每次添加行到表的「類別」和「選擇」填寫表格單元格在前端分別進行「慢性疼痛轉診」和「慢性轉診」。

問題是我希望能夠以表單的形式提交此信息以保存到數據庫。我可以遍歷行,這要歸功於「count」變量,因此我可以捕獲textarea數據,但是當前每行的'category'和'select'單元格的值不會被傳遞。

我嘗試下面的代碼改變,但它似乎不工作:

$('.addRow').click(function() { 
    var tr = $(
     '<tr><td class="cat"><input type="hidden" class="hiddenCat" name="category[' + count + ']"></td>' 
     + '<td class="sel"></td>' 
     + '<td><textarea name="paragraph[' + count + ']">Click to edit (id ' + count + ')</textarea></td></tr>' 
    ); 

    $('.mainTable > tbody:last').one().append(tr); 
    tr.find(".cat").text($(this).closest("li.category").attr("title")); 
    tr.find(".hiddenCat").text($(this).closest("li.category").attr("value")); 
    tr.find(".sel").text($(this).closest("li.select").attr("title")); 
    count++; 
}); 
+0

目前尚不清楚問題是什麼。我看到你用find()捕獲了一堆東西,但是在這段代碼中你不會對它們做任何事情。也許嘗試簡化你的問題,並只顯示相關的代碼。 – isherwood 2013-04-23 14:33:05

+0

你的問題到底是什麼?你有沒有試過調試你的代碼?你得到什麼錯誤? – Friederike 2013-04-23 14:40:53

+0

抱歉,由於缺乏清晰度,圖片可能會有所幫助。看看這裏:http://i.imgur.com/C3iMJkQ.png現在,當左邊的無序列表中的'category'和'select'值被添加到'group'和'item'下的表格中時用戶點擊單選按鈕,但這純粹是美容。我想要做的也是將這些值傳遞給隱藏的表單域,以便我可以將它們的值提交給數據庫 – Roy 2013-04-23 14:49:46

回答

1

看來我沒有解釋我的情況很好,但我還是來了我一直在尋找這個問題的答案我會分享。

$('.addRow').click(function() { 
     var tr = $(
     '<tr><td class="cat"></td>' 
     + '<td class="sel"></td>' 
     + '<td><textarea name="paragraph[' + count + ']">Click to edit (id ' + count + ')</textarea></td><td><input type="text" name="catText[' + count + ']" class="hiddenCat"></td></tr>'); 
     $('.mainTable > tbody:last').one().append(tr); 
     tr.find(".cat").text($(this).closest("li.category").attr("title")); 
     tr.find(".hiddenCat").val($(this).closest("li.category").attr("title")); 
     tr.find(".sel").text($(this).closest("li.select").attr("title")); 
     count++; 
     }); 

我不得不添加另一個表格單元格放在隱藏的文本框中,因爲它被覆蓋在原來放置它的單元格中。現在,當用戶點擊「慢性疼痛轉診」選項時,隱藏文本框會捕獲這些信息,以便我可以在表單中傳遞該信息。