2014-02-18 4 views
0

Я работаю над функцией в Javascript/jQuery. Функция будет искать имена пользователей в элементе «выберите» «Y» и выбирает их при е скопированной кучи имен пользователей в TEXTAREA «X» с «,», «,», '; 'или' 'в качестве разделителя, а также, если вы делаете это наоборот:autoselect select options with javascript/jquery

JavaScript/JQuery:

$(document).ready(function() { 
    $("dd#id-element select#id").attr({"multiple": "multiple", "size": 25, "name": "id[]"}); 
}); 
$(function() { 
    $("select#id").change(function() { 
        var selected_id = $(this).val(), 
          selected_name = new Array(); 
        $(this).find("option:selected").each(function() { 
         selected_name.push($(this).text()); 

        }); 

        $("textarea#id_field").val(selected_id); 
        $("textarea#name_field").val(selected_name); 
        console.log(selected_id, selected_name); 
       }); 
       $("textarea#name_field").keyup(function() { 
     $("select#id option").removeAttr("selected"); 
     var names_raw = $(this).val(), 
      names = names_raw.replace(/(, | |,)/gi, ";"), 
      selected_name = names.split(";"), 
      selected_id = new Array(); 
     $.each(selected_name, function(i, value) { 
      if (value != "" && value != null) { 
       $("select#id option[label='" + value + "']").attr("selected", true); 
       selected_id.push($("select#id option[label='" + value + "']").val()); 
      } 
     }); 
    }); 
}); 

HTML код:

<select name="id" id="id"> 
         <option value="1092" label="00lara00">00lara00</option> 
         <option value="5105" label="010201e">010201e</option> 
         <option value="1725" label="0411dennis">0411dennis</option> 
         <option value="1795" label="051259">051259</option> 
         <option value="2281" label="0815Timmey">0815Timmey</option> 
         <option value="3337" label="0vlinder0">0vlinder0</option> 
         <option value="127" label="1001gece">1001gece</option> 
         <option value="3693" label="111nizza">111nizza</option> 
         <option value="821" label="114helen">114helen</option> 
         <option value="2887" label="1212whopper">1212whopper</option> 
         <option value="5564" label="123boo">123boo</option> 
</select> 
<textarea name="name_field" id="name_field"></textarea> 

, когда я выбрать несколько имен пользователей в select element, он отлично работает, имена пользователей копируются в текстовое поле. , когда я вставляю некоторые имена пользователей в текстовое поле, все отменяется так, как должно, но нет ничего нового.

+0

Я изменил <выберите имя = "идентификатор" ID = "идентификатор"> к <выбрать несколько = "истинный "name =" id "id =" id "> и похоже, что это работает для меня ... это помогает? – adamgede

+0

извините забыли пример кода. эта форма загружается из фреймворков zend, поэтому я добавил этот '$ (document) .ready (function() { $ (" dd # id-element select # id "). attr ({" multiple ":" multiple ", «размер»: 25, «имя»: «id []»}); }); 'к элементу