Как заставить плагин tokenInput в jQuery работать с <select multip = "множественным">? - PullRequest
0 голосов
/ 25 октября 2011

Я применил плагин 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. Здесь находятся файлы токенов.

1 Ответ

0 голосов
/ 30 января 2012

Я недавно написал модуль для drupal - хотя он все еще в песочнице. Он для Drupal 7. Вы можете клонировать и использовать его.http://drupal.org/sandbox/amrit_b/1420912

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...