从有序的电子邮件简报中使用的答案列表生成投票/调查代码

时间:2013-07-25 10:54:25

标签: javascript jquery

我有一个问题,我需要从电子邮件简报中使用的答案列表中生成投票/调查模板。

所以 - 轮询在CMS中创建,答案显示在有序列表中。列表项中有一个文本字段,用户可以在其中输入答案。 - 在有序列表下面是一个textarea,在其下方有一个名为“生成轮询代码”的按钮 - 单击按钮时,javascript应生成所需的“模板”,其中包含Answers,Answer Ids和带有查询的锚链接中的Poll Id(如下所示)。

所以有序列表标记如下:

<ol id="9999">
    <li id="1234"><input value="Answer1"/></li>
    <li id="5678"><input value="Answer1"/></li>
    <li id="9876"><input value="Answer1"/></li>
</ol>

如果轮询ID是有序列表的ID,并且每个li都有答案ID。

我一直试图得到的是这个简单的锚链接列表:

Poll question<br />
<a href="http://urlpath?pollId=9999&answerId="1234">Answer 1</a>
<a href="http://urlpath?pollId=9999&answerId="5678">Answer 1</a>
<a href="http://urlpath?pollId=9999&answerId="9876">Answer 1</a>

所以基本上,点击,迭代有序列表,抓住id,然后在正确的位置输出带有ID的锚列表。

只是减少了这封电子邮件,我没有在此尝试使用for循环,获取Ids,将它们存储在数组中,然后使用注入的那些构建锚链接模板。 p>

是否有人知道处理此问题并获得理想结果的好方法

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用.each循环每个列表项并输出每个项的html。

    //use .each to loop over each li
    $('#9999 li').each(function(){
        //for each li, get its id and val
        var li_id = $(this).attr('id');
        var inp_val = $(this).find('input').val();
        //append it somewhere and drop values in
        $('#output').append('<a href="http://urlpath?pollId=9999&answerId=' + li_id + '">' + inp_val + '</a><br>' );
    });

工作示例:http://jsfiddle.net/omgo/fThq9/2/