Я пытаюсь реализовать Select - Option, найденный здесь.Выберите вариант javascript не работает
При нажатии на кнопку демо вы можете увидеть выберите опцию-онлайн. К сожалению, если вы нажмете второй вариант, он, похоже, не будет выбран. Значение по умолчанию все еще существует.
К сожалению, я потратил слишком много часов, пытаясь изменить файл CSS, и теперь я застрял здесь!
Можете ли вы понять, почему выбор не работает должным образом?
Вот мой код: http://jsfiddle.net/Y86Qj/
$(".dropdown dt a").click(function(){
if($(this).hasClass("open")) {
$(this).blur();
return false;
}
$(this).addClass("open");
$(this).closest(".dropdown").find("ul").animate({opacity: 'show', height: 'show'}, 'fast');
return false;
}).blur(function() {
$(this).removeClass("open");
$(this).closest(".dropdown").find("ul").animate({opacity: 'hide', height: 'hide'}, 'fast');
});
$(".dropdown dd ul a").click(function() {
var text = $(this).html();
$(this).closest("dt").find("a").html(text);
$(this).parents("ul").hide();
$(this).closest("select").val($(this).find("span.value").html());
return false;
});
/* Fancy Dropdowns */
function FancyDropdowns(selector){
$(selector).each(function() {
var source = $(this);
var selected = source.find("option[selected]");
var options = $("option", source);
var markup = '<dl class="dropdown">';
markup += '<dt><a href="#">' + selected.text() + '<span class="value">' + selected.val() + '</span></a></dt>';
markup += '<dd><ul>';
options.each(function() {
markup += '<li><a href="#">' + $(this).text() + '<span class="value">' + $(this).val() + '</span></a></li>';
});
markup += '</ul></dd>';
markup += '</dl>';
source.after(markup);
source.hide();
});
}
$(document).ready(function() {
FancyDropdowns(".dropdown.fancy");
$(".dropdown dt a").click(function(){
if($(this).hasClass("open")) {
$(this).blur();
return false;
}
$(this).addClass("open");
$(this).closest(".dropdown").find("ul").animate({opacity: 'show', height: 'show'}, 'fast');
return false;
}).blur(function() {
$(this).removeClass("open");
$(this).closest(".dropdown").find("ul").animate({opacity: 'hide', height: 'hide'}, 'fast');
});
$(".dropdown dd ul a").click(function() {
var text = $(this).html();
$(this).closest("dt").find("a").html(text);
$(this).parents("ul").hide();
$(this).closest("select").val($(this).find("span.value").html());
return false;
});
});
Вы должны опубликовать ** ** свой код, ваш HTML & CSS, предпочтительно в [jsFiddle] (http://jsfiddle.net/), поэтому мы можем видеть, какие проблемы вы испытываете , Кроме того, довольно уверен, что это проблема JS, а не проблема с CSS, поэтому вы ищете не то место -_- – Ming
Спасибо за ответ. Код отправлен по ссылке, которую я предоставил. Также вы можете найти ее здесь «view-source: http: //captaincodemonkey.com/sites/default/files/fancydropdown.html» – dionysosz
Опять же, причина, по которой вы получаете отрицательные голоса, состоит в том, что вы не отправили ** свой ** код, * * ваши попытки устранить проблему, ** ваше ** попытку исправить ** вашу проблему **. – Ming