Jquery UI multiselect csoportok

Jquery UI multiselect csoportok
2015-01-31T19:24:51+01:00
2015-02-01T11:25:28+01:00
2022-12-02T03:15:33+01:00
tsaba20
Sziasztok!
A problémám a következő, letöltöttem és beépítettem egy weboldalba a Jquery UI multiselect-et.
Link: http://www.erichynds.com/blog/jquery-ui-multiselect-widget
A HTML kódot PHP-vel generálom le:

<div class="T_divcimke"> Megjelenítendő adat(ok) kiválasztása: </div> <form id="trend_adatok"> <select id="trendvaltozok" name="trendvaltozok[]" multiple="multiple"> <? foreach($trendadatok as $tadatok) { echo "<optgroup label="".$tadatok[0]."">"; // csoportnév foreach($tadatok[1] as $ta) { echo("<option value="".$ta[0]."">".$ta[1]."</option>"); // választható elem } echo "</optgroup>"; } ?> </select> </form>
A hozzá tartozó jquery rész:

$('#trendvaltozok').multiselect({ header: false, noneSelectedText: "Kérem válasszon...", height: 300, minWidth: 300, selectedText: function(numChecked, numTotal, checkedItems) { <?/*return numChecked + ' of ' + numTotal + ' checked';*/?> return "Kiválasztva: "+numChecked; }, click: function(e) { if( $(this).multiselect("widget").find("input:checked").length > 2 ) { //warning.addClass("error").removeClass("success").html("You can only check two checkboxes!"); return false; // csak 2-t választhat, többet nem! } }, optgrouptoggle: function(event, ui){ //alert("xy"); } });
Létrejön a multiselect menü. A menün belül vannak csoportok és választható elemek.
A problémám az, hogy ha a csoport nevére kattintok, akkor a csoporthoz tartozó összes változót kijelöli, ha pedig újra kattintok akkor megszűnteti. Ezt szeretném belőle kivenni valahogy, hogy csoportoknak csak a nevei szerepeljek, de ha rá is kattintok ne történjen semmi, magyarán egész csoportot ne lehessen kiválasztani, az csak egy sima szöveg legyen, hogy pl --CSOPORT1--
A leírásba nem találok ilyenre utaló beállítást, közvetlenül. Hogyan tudnám ezt megoldani ? Köszönöm a segítséget.
Mutasd a teljes hozzászólást!
mielőtt állítaná a változókat még meghív egy beforeoptgrouptoggle-t - itt ha false-al térsz vissza, akkor nem csinál semmit:

$('#trendvaltozok').multiselect({ ... beforeoptgrouptoggle: function(){ return false; } ... });

CSS-el pedig le tudod venni a pointer kurzort, így nem kezdenek el vadul kattintgatni rá:
.ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a { cursor: default; }
(ez az összesről leveszi - ha csak egyről kell ahhoz egy kicsit trükközni kell)
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd