Aşağıdaki sayfada, başlangıç ve seçim sayfalarında 2 aşağı açılır menüyü değiştirmeye yarayan bir kod var. Birincisi, sayfa yükü için sayfa kategorisine uyarlanması gereken ana kategorileri içerir. İkincisi, daha sonra (hangisi sayfanın başlangıcına veya seçimine göre) seçilene bağlı olarak farklı seçenekler sunar.Firefox'ta beklendiği gibi çalışmayı değiştirmeyecek şekilde değiştiriliyor
Aşağıdaki kod, büyük modern tarayıcılarda mükemmel çalışır ancak Firefox'ta olduğu gibi DEĞİL.
Sayfanın ilk açılan sayfasından aşağıya doğru hareket ettiğinde ortaya çıkan sorun, evet, üste gider ancak Firefox'ta eski metin görünür alanda tutulur. Burada anlamsal bir problem var mı?
jQuery(document).ready(function(){
// get the page category
var pageCat = jQuery("#page-wrapper .breadcrumb").find("li.active").text().replace(/\s+/g, '-').toLowerCase();
// get inserted post category instead in case of single seminar
if (jQuery(".courses-detail").length) {
jQuery('.courses-detail').each(function() {
$courseCat = this.className.match(/(^|\s)sw_course_cat\S+(\s|$)/);
});
pageCat = $courseCat[0].replace('sw_course_cat-','').trim();
};
// store drop down menus
var $dropDown = jQuery('#page-wrapper select[name="courses[category]"]');
var $dropDown_2 = jQuery('#page-wrapper select[name="courses[location]"]');
// make it the first in the drop down list
// remove “all categories” option
var $standard = $dropDown.find('option[data-link="http://www.falkenberg-seminare.de/cms/edu-course/"]');
$standard.remove();
// change position
var $startList = $dropDown.find('option[value="' + pageCat + '"]');
$startList
.remove();
$dropDown.prepend($startList);
// filter the second drop down based on first drop down option selected
var $options = $dropDown_2.clone(); // this will save all initial options in the second dropdown
$dropDown.change(function() {
var filters = [];
if (jQuery(this).val() == "") {
jQuery(this).find("option").each(function(index, option) {
if (jQuery(option).val() != "")
filters.push(jQuery(option).val());
});
} else {
filters.push(jQuery(this).val())
}
$dropDown_2.html("");
jQuery.each(filters, function(index, value) {
$options.find("option").each(function(optionIndex, option) { // a second loop that check if the option value starts with the filter value
if (jQuery(option).val().startsWith(value))
jQuery(option).clone().appendTo($dropDown_2);
});
});
});
$dropDown.trigger('change');
});
Ben Fiddle teslim etmek üzgünüm ama sayfa yüklemesinde doğru göstermek için pageCat seçimini taklit nasıl düşünemiyorum. Ancak, bilmediğim bazı bilinen Firefox kod sorunu var (ve Google yardım etmedi).
Yardımlarınız için çok teşekkür ederim!