如何插入此函数生成的数组...
<script>
function generate_array() {
var items = $("#sortable").sortable("toArray");
// TODO: Insert the array of items into the form below.
}
</script>
...进入当前所说 ARRAY_OF_ITEMS 的区域......
...
<body>
...
<form id="sortable_list" action="/cgi-bin/test" method="post">
<ul id="sortable">
<li id="1">item1</li>
<li id="2">item2</li>
<li id="3">item3</li>
<li id="4">item4</li>
</ul>
<input type="hidden" name="page" value="items"/>
<input type="hidden" name="action" value="save_order"/>
<input type="hidden" name="order" value="ARRAY_OF_ITEMS"/>
<input type="submit" value="save" onclick="generate_array()"/>
</form>
...
</body>
...因此,如果在提交表单时项数组变量为4,2,1,3
,则发送的POST字符串将为page=items&action=save_order&order=4,2,1,3
。
假设页面有其他形式,因此答案需要专门针对该区域。我正在生成HTML,因此如果答案需要,可以添加额外的属性。
答案 0 :(得分:1)
尝试$("[name='order']", $("#sortable_list")).val (items);
答案 1 :(得分:0)
您希望使用jQuery&#39; attribute selector定位您的输入,然后设置如下值:
$('#sortable_list [name="order"]').val(items);
如果您想要查看它的实际效果,可以展开下面的代码段。
$(function() {
let items = "4,2,1,3";
$('#sortable_list [name="order"]').val(items);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="sortable_list" action="/cgi-bin/test" method="post">
<ul id="sortable">
<li id="1">item1</li>
<li id="2">item2</li>
<li id="3">item3</li>
<li id="4">item4</li>
</ul>
<input type="hidden" name="page" value="items" />
<input type="hidden" name="action" value="save_order" />
<input type="input" name="order" value="ARRAY_OF_ITEMS" />
<input type="submit" value="save" onclick="generate_array()" />
</form>
&#13;