繁体   English   中英

如何让jQuery的tokenInput插件与 <select multiple=“multiple”> ?

[英]How to get jQuery's tokenInput plugin working with a <select multiple=“multiple”>?

我已将tokenInput插件应用于“多个”选择元素。 但是,当我添加多个令牌然后提交表单时,仅发送最后一个令牌的选项值。 Chrome和Firebug中的文档检查器均显示'selected =“ selected”'属性已正确应用和删除。 我有以下几点:

<!DOCTYPE html>
<html>
<head>
  <link href="stylesheets/token-input.css" media="screen" rel="stylesheet" type="text/css" />
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
  <script src="javascripts/jquery.tokeninput.js" type="text/javascript"></script>
<head>
<body>
  <form action="" method="get">
    <select id="project_ids" multiple="multiple" name="project[ids][]">
      <option value="any">(Any)</option>
      <option value="blanks">(Blanks)</option>
      <option value="1">Project A</option>
      <option value="2">Project B</option>
      <option value="3">Project C</option></select>
    </select>
    <input type="submit" value="Submit" />
  </form>
  <script>
    $(function() {
      $("#project_ids").tokenInput(
        [{"id":"any","name":"&lt;Any&gt;"},{"id":"blanks","name":"&lt;Blanks&gt;"},{"id":1,"name":"Project A"},{"id":2,"name":"Project B"},{"id":3,"name":"Project C"}],
        {preventDuplicates: true,
         onAdd: function(item) { $(this).find('option[value="'+item.id+'"]').attr("selected",true); },
         onDelete: function(item) { $(this).find('option[value="'+item.id+'"]').attr("selected",false); }
        }
      );
    });
  </script>
</body>
</html>

关于我需要更改的任何想法? 谢谢!

PS。 tokenInput文件在这里。

我最近为drupal编写了一个模块-尽管它仍在沙箱中。但是它还是为Drupal 7编写的。您可以克隆并使用它。 http://drupal.org/sandbox/amrit_b/1420912

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM