jQuery(...)。val(...)。xxx不是函数

时间:2013-09-16 00:20:12

标签: javascript jquery

我想使用EggImageDropdown,但我的脚本有问题。

我将它嵌入我的测试网站并在那里工作: http://herzschloss.de/hs/test.php在“Mein Wunschbild”。

现在我想在js-code中使用相同链接的相同脚本: http://herzschloss.de/Liebesschloss-bestellen在“Mein Wunschbild”

但是我收到了错误。

TypeError: jQuery(...).val(...).EggImageDropdown is not a function

这是不起作用的实时生成脚本:

function onclick(event) {
    var t = jQuery('select[id=dropdown_demo]').val('herz.png').EggImageDropdown('close').EggImageDropdown('update',{src:'hs-motive/herz.png'});t.trigger('change');
} 

这是代码:

jQuery('option',element).each(function(i,el){
    dropdown.append('<img style="width:100%" onclick="var t=jQuery(\'select[id=' + selectName + ']\').val(\''+ $(el).val() + '\').EggImageDropdown(\'close\').EggImageDropdown(\'update\',{src:\''+ $(el).text() + '\'});t.trigger(\'change\');" src="' + $(el).text() + '"/>');
});

如果你帮助我会很棒!

1 个答案:

答案 0 :(得分:0)

将这么多代码嵌入到onclick属性中非常困难。最好不要这样做。

要更正它,请直接在循环中创建函数,而不是创建属性。

jQuery('option',element).each(function(i,el){
    var img = $('<img>', {style: "width:100%;", src: $(el).text()});
    img.click(function() {
        var t=jQuery('select[id=' + selectName + ']');
        t.val($(el).val()).EggImageDropdown('close')
                          .EggImageDropdown('update', {src:$(el).text()});
        t.trigger('change');
    });
    dropdown.append(img); 
});

此外,查看您的链接网站,似乎EggImageDropdown功能不存在,这意味着您没有成功加载该插件。