Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 持久选择多选列表框条目_Jquery_Html_Django_Django Templates_Listbox Control - Fatal编程技术网

Jquery 持久选择多选列表框条目

Jquery 持久选择多选列表框条目,jquery,html,django,django-templates,listbox-control,Jquery,Html,Django,Django Templates,Listbox Control,我有一个html表单。提交后,我需要让每个表单控件的选定项保持选中状态。这适用于单选按钮、复选框、下拉列表,但不适用于我的多选列表框。我还需要这种能力,以便将表单数据传递给jquery函数以执行其他任务。该过程适用于没有多选列表框的其他页面。我使用Django服务器端,通常执行“for循环”或“if语句”来检查用户选择。我可以从javascript中以列表的形式获取选择,但在Chrome网络面板中,它将列表项作为单独的表单变量提供。获取此格式的方法是什么 更新 meni181818提供的JFID

我有一个html表单。提交后,我需要让每个表单控件的选定项保持选中状态。这适用于单选按钮、复选框、下拉列表,但不适用于我的多选列表框。我还需要这种能力,以便将表单数据传递给jquery函数以执行其他任务。该过程适用于没有多选列表框的其他页面。我使用Django服务器端,通常执行“for循环”或“if语句”来检查用户选择。我可以从javascript中以列表的形式获取选择,但在Chrome网络面板中,它将列表项作为单独的表单变量提供。获取此格式的方法是什么

更新 meni181818提供的JFIDLE应该可以工作,我认为这是正确的方向。但是,我已经更新了我的页面,只包含了这段代码,它不起作用。我可以将代码复制到jfiddle中并让它工作,但不能在我的页面上。我不确定这是否是Django的问题。页面上唯一的附加代码是:

<head>
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>

您可以将所有选定项目作为数组获取:

arrVal = $("select").val();
和JSON:

JSON.stringify(arrVal);
如果需要,可以将其作为JSON返回,并使用js\jq将其解析到数组中:

var arrJson = JSON.parse(THE_JSON_STRING);
并设置所选项目:

$("select").val(arrJson);

获取和设置演示:

meni181818提供的方法适合我。由于我的特殊需要,我不得不改变一些事情。我使用了隐藏输入而不是标记,这意味着将.text()更改为.val()。我需要这样做,以便通过Django后端传递值,并在发布表单后保留这些值。

这似乎不适用于我的案例。我必须在循环中创建列表选项,我认为这可能是问题的一部分。我已经把所有的东西都放在标签里了。我尝试了一些排列,但是我选择的选项列表总是比当前选择的选项落后一个帖子。我目前将该列表作为隐藏输入,其值等于meni181818的答案中提供的set脚本的结果。