Magento javascript undefined不是一个函数jquery selectric?
我有一个问题,在我的网站上试图添加一些下拉菜单的标题 我正在将Magento CE 1.8.0与Airhotels模块一起使用 奇怪的是,在某些页面上它是有效的,而在某些页面上它不是。在我看来,与Airhotels模块直接相关的页面似乎不起作用,也许这是一个线索 正如您从这些图像中看到的,我得到的错误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脚本,位于
未定义不是一个函数
:
- 破碎的
- 工作
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') );
}
});
});