Intereting Posts

jQuery / js, разделяющие 2 значения выпадающего списка

Я использую Eric Hynds jQuery MultiSelect Widget. Я на самом деле использую 2 отдельных виджета, которые при проверке устанавливают флажок «Динамический флажок» / значение, прикрепленный к соответствующему флажку «Основной», если флажок «Основной» установлен. Пожалуйста, посмотрите мою скрипту с комментариями внутри, чтобы проиллюстрировать мою проблему: http://jsfiddle.net/3u7Xj/52/

Как отделить 2 виджета, которые будут отображаться в соответствующих разделах, и только разрешить пользователю выбирать 2 из двух?

$(document).ready(function() { $(".multiselect").multiselect({ header: "Choose up to 5 areas total", click: function (event, ui) { if (ui.checked && $(".multiselect").children(":checked").length >= 2) { return false; } var lbl = ui.value; if(ui.checked){ var ctrl = ''; $("[id^=Main]:checked").each(function(){ $(this).nextAll('.holder:first').append('
'+ctrl+lbl+'
'); }); } else { $("[id^=Main]:checked").each(function(){ $(this).nextAll('.holder:first').find('div input[id="'+lbl+'"]').parent().remove(); }); } }, selectedList:5 }); });

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

 var number1=$("#dropdown1").children(":checked").length, number2=$("#dropdown2").children(":checked").length; if (ui.checked && ((number1 + number2 >=4) || $(this).children(":checked").length >= 2)){ return false; } 

Демо здесь

Если вы хотите выбрать только два из двух вариантов и изменить условие следующим образом:

 var number1=$("#dropdown1").children(":checked").length, number2=$("#dropdown2").children(":checked").length; if (ui.checked && ((number1 + number2 >=2) || $(this).children(":checked").length >= 2)){ return false; } 

Демо здесь

Адаптировано к требованиям в комментарии

отдельные сегменты, вставленные в div. Настроенная кнопка управления

чтобы:

 $(this).parent("div").find("[id^=Main]:checked").each(function(){ $(this).nextAll('.holder:first').append('
'+ctrl+lbl+'
'); });

Демо здесь