我有一个问题,我需要从电子邮件简报中使用的答案列表中生成投票/调查模板。
所以 - 轮询在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>
是否有人知道处理此问题并获得理想结果的好方法
非常感谢任何帮助,谢谢!
答案 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>' );
});