i working on older legacy system using select2 3.5.2.
it's using older hidden field method, , passes data so:
<input class="select2" data-url="/mapscrsearch/filterdata" data-parent="3" data-model="vmapscreencategories" data-tags="1" data-searchterm="name" data-showitem="name" data-hiddenfield=".opcode_filters" data-allowuserinput="" data-enabled="1" type="text" value="" name="opcode_id" id="opcode_id" tabindex="-1" style="display: none;"> right now, have small jquery function changes data-parent on fly, , pulls in correct data depending on parent id; works if set data-parent manually, when changing data-parent via jquery doesn't update select2 component.
for example, have:
$(document).ready(function(){ var opcodefamily = $('#category_parent'); var opcodeparentid = $('#opcode_parent_id'); var opcodedataurl = $('#opcode_id'); // set default $(opcodeparentid).val($(opcodefamily).val()); $(opcodedataurl).attr('data-parent', opcodeparentid.val()); // change value parent select $(opcodefamily).change(function(){ $(opcodeparentid).val($(opcodefamily).val()); $(opcodedataurl).attr('data-parent', opcodeparentid.val()).trigger("change"); console.log('data-parent set to: ' + opcodeparentid.val() + ', select2 passing: ' + opcodedataurl.data('parent')); }).trigger("change") }); i can see changing data-parent in console , inspector, select2 still passing original value. i've looked @ trigger, doesn't seem anything. there i'm missing?
Comments
Post a Comment