根据电子邮件通讯中使用的有序答案列表生成投票/调查代码



我有一个小问题,需要从电子邮件通讯中使用的答案列表中生成一个民意调查/调查模板。

所以-投票在CMS中创建,答案显示在有序列表中。列表项中有一个文本字段,用户可以在其中输入答案。-排序列表下方是一个文本区域,其下方有一个名为"生成投票代码"的按钮-单击按钮后,javascript应生成所需的"模板",其中包含带有查询的锚链接中的Answers、Answer Id和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循环,获取ID,将它们存储在数组中,然后用注入的ID构建锚链接模板。

有没有人知道处理这个问题的好方法,并获得想要的结果

非常感谢您的帮助,谢谢!

  • L

您可以使用.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/

最新更新