Bonjour,
J'ai une liste avec image. L’événement Change fonctionne quand je l'utilise dans le constructeur jquery :Je voudrais externaliser la capture de l'évènement pour centraliser les actions d'envois au serveur.change :...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 $(function () { $.widget("custom.TFOiconSelectImg", $.ui.selectmenu, { _renderItem: function (ul, item) { var li = $("<li>", { html: item.element.html() }); var attr = item.element.attr("data-style"); if (typeof attr !== typeof undefined && attr !== false) { $("<span>", { style: item.element.attr("data-style"), "class": "ui-icon TFOOptlstFiltreImg" }).appendTo(li); } return li.appendTo(ul); } }); $("#people").TFOiconSelectImg({ create: function (event, ui) { var widget = $(this).TFOiconSelectImg("widget"); var $SpanTxt = widget.children(":last"); $span = $('<img class="TFOSizeImgSelected TFOOptlstFiltreImg"> ').appendTo($SpanTxt); $span.attr("style", $(this).children(":first").data("style")); }, change: function (event, ui) { var widget = $(this).TFOiconSelectImg("widget"); var $SpanTxt = widget.children(":last"); $span = $('<img class="TFOSizeImgSelected TFOOptlstFiltreImg"> ').appendTo($SpanTxt); $span.attr("style", ui.item.element.data("style")); } }).TFOiconSelectImg("menuWidget").addClass("ui-menu-icons customicons"); $("#people").on("selectmenuchange", function (event, ui) { alert('x'); }); //$(document).on('selectmenuchange', '#people', function (event, ui) { alert($(this).val()); }); });
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <img class="TFOSizeImgSelected TFOOptlstFiltreImg" style="background-image: url('/Images/imgres.png');" /> <select name="people" id="people" class="TFOlstFiltreImg"> <option value="" data-style="background-image: url('/Images/vide.png');" selected="selected">TOUS</option> <option value="" data-style="background-image: url('/Images/vide.png');">SANS</option> <option value="/Images/imgres.jpg" data-style="background-image: url('/Images/imgres.jpg');"> </option> <option value="/Images/imgres.png" data-style="background-image: url('/Images/imgres.png');"> </option> </select>
Mais je n'ai jamais alert('x'); ... J'ai essayé en enlevant la partie change: ... mais idem. Pourtant je suis : la doc officielle
Si j'utiliseCa annule mon premier appel change:...
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $('#people').TFOiconSelectImg({ change: function (event, ui) { alert('something has changed'); } });
Partager