Magento javascript undefined不是一个函数jquery selectric?

Magento javascript undefined不是一个函数jquery selectric?,javascript,jquery,magento,jquery-plugins,undefined,Javascript,Jquery,Magento,Jquery Plugins,Undefined,我有一个问题,在我的网站上试图添加一些下拉菜单的标题 我正在将Magento CE 1.8.0与Airhotels模块一起使用 奇怪的是,在某些页面上它是有效的,而在某些页面上它不是。在我看来,与Airhotels模块直接相关的页面似乎不起作用,也许这是一个线索 正如您从这些图像中看到的,我得到的错误未定义不是一个函数: 破碎的 工作 我已将这一行添加到所有页面下的airhotels.xml中 airhotels/jquery.selectric.js 这是我的jQuery脚本,位于

我有一个问题,在我的网站上试图添加一些下拉菜单的标题

我正在将Magento CE 1.8.0与Airhotels模块一起使用

奇怪的是,在某些页面上它是有效的,而在某些页面上它不是。在我看来,与Airhotels模块直接相关的页面似乎不起作用,也许这是一个线索

正如您从这些图像中看到的,我得到的错误
未定义不是一个函数

  • 破碎的

  • 工作
我已将这一行添加到所有页面下的airhotels.xml中

airhotels/jquery.selectric.js

这是我的jQuery脚本,位于
public\u html\app\design\frontend\default\style\template\page\html\header.phtml

<script type="text/javascript">

var jQnc = jQuery.noConflict();

jQnc(document).ready(function(){

  jQnc('#header-profile-links').selectric();
  jQnc('#header-browse-links').selectric();
  jQnc('#custom-currency-selector').selectric(); 

  jQnc('#customOptions').selectric({
    onChange: function(element){
    if(jQnc(element).val().toLowerCase().indexOf("english") >= 0) {
        jQnc('p#labelFi').css('background','url(http://sleepmyhome.com/skin/frontend/default/stylish/images/flag_en.png) 10% 50% no-repeat');
        jQnc('p#labelFi').removeClass('labelFi').addClass('labelEn');
        window.location.href = jQnc(element).val();
        }
    if(jQnc(element).val().toLowerCase().indexOf("finnish") >= 0) {
        jQnc('p#labelEn').css('background','url(http://sleepmyhome.com/skin/frontend/default/stylish/images/flag_fi.png) 10% 50% no-repeat');
        jQnc('p#labelEn').removeClass('labelEn').addClass('labelFi');
        window.location.href = jQnc(element).val();
        }
    },
    optionsItemBuilder: function(itemData, element, index){
    jQnc('#customOptions').addClass("customOptions langSelectWidth");
        return element.val().length ? '<span class="ico ico-' + element.attr('title') +  '"></span>' + itemData.text : itemData.text;
    }
  });
});
</script>

var jQnc=jQuery.noConflict();
jQnc(文档).ready(函数(){
jQnc(“#标题配置文件链接”).selectric();
jQnc(“#标题浏览链接”).selectric();
jQnc(“#自定义货币选择器”).selectric();
jQnc(“#自定义选项”)。选择({
onChange:函数(元素){
if(jQnc(element).val().toLowerCase().indexOf(“english”)>=0){
jQnc('p#labelFi').css('background','url(http://sleepmyhome.com/skin/frontend/default/stylish/images/flag_en.png)10%50%不重复);
jQnc('p#labelFi').removeClass('labelFi').addClass('labelEn');
window.location.href=jQnc(element.val();
}
if(jQnc(element).val().toLowerCase().indexOf(“finnish”)>=0){
jQnc('p#labelEn').css('background','url(http://sleepmyhome.com/skin/frontend/default/stylish/images/flag_fi.png)10%50%不重复);
jQnc('p#labelEn')。removeClass('labelEn')。addClass('labelFi');
window.location.href=jQnc(element.val();
}
},
选项ItemBuilder:函数(itemData、元素、索引){
jQnc(“#customOptions”).addClass(“customOptions langSelectWidth”);
返回元素.val().length?“”+itemData.text:itemData.text;
}
});
});

感谢您的帮助,我真的被卡住了

我认为问题在于获取值 尝试类似的方法(这是一个坏例子,下一个是好例子):

结果是空的

但是现在试试这样的方法:

<ul class="customOptions">
    <li class="">Select something</li>
    <li class=""><span data-value="value1"> Choice 1</span></li>
    <li class="selected"><span data-value="value2"> Choice 2</span></li>
    <li class=""><span data-value="value2"> Choice 3</span></li>
</ul>

我认为,如果您使用这种方法,您应该能够从数据attr中获取所选值,并执行任何您想要的操作。(请记住-不要将数据attr=”“放入LI标记中-它将不起作用)

使用$.noConflict();到jQuery.noConflict();如果我试着这样做,结果根本不起作用。在header.phtml和jquery.selectric.js.ok中都尝试过。请做一件事。。。在jquery.selectric.js上方再次添加jquery库,然后选中。。。。使用你上面提到的代码嗨,我试过了,但也没用。今天我想我发现了问题所在。我从airhotels.xml中删除了所有“common.js”包含的内容(我把它们注释掉了)。现在脚本似乎在每一页上都运行良好。现在我的问题是如何同时使用“common.js”和selectric。我查看了“common.js”文件,这是它的开始和结束方式。这里会有什么吗?如果您需要更多信息来帮助我,请告知!
$(function(){
    $('.customOptions').selectric({
        maxHeight: 300,
        onChange: function(element) {
           alert( $(element).val() );
        }
    });
});
<ul class="customOptions">
    <li class="">Select something</li>
    <li class=""><span data-value="value1"> Choice 1</span></li>
    <li class="selected"><span data-value="value2"> Choice 2</span></li>
    <li class=""><span data-value="value2"> Choice 3</span></li>
</ul>
$(function(){
    $('.customOptions').selectric({
        maxHeight: 300,
        onChange: function(element) {
           alert( $('.selectricItems').find('.selected span').attr('data-value') );
        }
    });
});