Я использую jquery в скрипте пользователя greasemonkey. Я пытаюсь добавить несколько вариантов для выбора на основе массива, а также добавить соответствующий объект в элемент с jquery.data, как это:
$.each(some_array, function(item){
// These next 2 statements seem awkward to me and I was also hoping
// a jquery master could show me a slicker way to perhaps
// combine them into something simpler
$('select').append('<option>dummy</option>');
$('select option:last-child').data('obj', item);
});
Тогда я бы хотел вернуть объект на выбор:
$('select').change(function(){
var theObj = $('option:selected', this).data('obj');
});
Однако в моем скрипте пользователя greasemonkey theObj не определено. Я знаю, что происходит какая-то обезьяна с обёртками, unsafeWindow и т. Д. Я просто надеялся, что кто-то может знать, что именно делает это неэффективным.