使用jQuery读取动态创建的内容

时间:2013-04-23 14:16:57

标签: jquery

对于jQuery我是一个新手,但是由于另一个stackoverflow成员,我有一些代码允许用户单击一个单选按钮并让它添加一个表格行,其中填充了他们单击的单选按钮链接的文本上。这是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++;
});

1 个答案:

答案 0 :(得分: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++;
      });

我必须添加另一个表格单元格以放入隐藏文本框中,因为它在我最初放置它的单元格中被覆盖。现在,当用户点击“慢性疼痛推荐”选项时,隐藏的文本框会捕获该文本框,以便我可以在表单中传递该信息。