我有一个小问题,需要从电子邮件通讯中使用的答案列表中生成一个民意调查/调查模板。
所以-投票在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/