我已经制作了一个可排序列表。
根据可排序列表的顺序,我想将文本插入textarea #notes
。
无论如何我可以根据列表排序文本,所以即使我改变顺序。 textarea中的文本应相应更改
例如
<ul>
<li>entry 1</li>
<li>entry 2</li>
</ul>
entry 1 = "this is line 1"
entry 2 = "this is line 2"
我不确定是否必须使用Ajax或其他东西才能完成此操作。因为我希望每个列表项都有预定义的文本。
我正在努力学习Jquery,并且真的应该给予任何帮助。 关于如何完成这一任务的任何提示。
问题
我在哪里以及如何存储这些预定义的值? 如何对文本区域中的文本进行排序?
有人可以指出我正确的方向吗
答案 0 :(得分:0)
textarea只是一团文字。你必须有一些方法来确定那里构成“可排序”线的内容。或者在列表更改时重新生成整个内容。
答案 1 :(得分:0)
也许写一个javascript函数给refreshTextarea()
,你最初会用它来填充textarea,每次排序改变时,它会根据列表的排序顺序“清空”并重新填充它。
好的,要将值与您的列表项相关联,请为您的ul提供id和您的li唯一ID
<ul id="the-list">
<li id="item-1">entry 1</li>
...
</ul>
然后对于每个列表项,创建一个隐藏的输入,其id以某种方式对应
<input type="hidden" id="item-1-data" value="this is where you put info for the list item entry 1" />
然后使用jquery,通过循环遍历列表项并在进行任何排序后刷新textarea,以编程方式关联它们。
$('#the-list li').each(function() {
//get the id of the list's data field
var li-data-id = $(this).attr("id") + '-data';
// get the actual data associated with this list item
var li-data = $(li-data-id).val();
// append next list's data in the textarea
$('#id-of-textarea').val($('#id-of-textarea').val() + "\n" + li-data)
}