2013-08-09 2 views
1

im используя twitter bootstrap и используя выпадающее меню.Щелкать выпадающее текущее значение бутстрапа

Таким образом, мое выпадающее меню имеет заголовок и 3 варианта.

Я хочу, чтобы иметь возможность заменить заголовок с значением параметра, выбранного

http://jsfiddle.net/jrV6u/30/

у меня есть некоторые JQuery им с помощью, но его изменение значения всех параметров раскрывающихся

$('.dropdown-menu li a').click(function(e) 
{ 
    var newHeading = $(this).text(); 
    $('.dropdown-toggle').html(newHeading); 

}); 

ответ

2

Вам нужно использовать прямой селектор потомков, чтобы изменить только первый элемент a, а также повторно добавить каретку после обновления HTML:

$('.dropdown-menu li a').click(function (e) { 
    var newHeading = $(this).text(); 
    var $heading = $('.dropdown > a'); 
    var $caret = $('.caret', $heading); 
    $heading.html(newHeading + ' ').append($caret); 
}); 

Updated fiddle

+1

Это удалит каретку. – slash197

+0

Я вижу, что вы имеете в виду, он снимает каретку. я мог бы обернуть текст в отдельный класс и просто обновить, что – ddools

+0

@ slash197 хорошая точка спасибо, исправлено. –

0

Вы должны добавить имя класса заголовка к вашему селектору:

$('.dropdown-menu li a').click(function(e) 
{ 
    var newHeading = $(this).text(); 
    $('.dropdown a.dropdown-toggle').html(newHeading); 

}); 

Изменено скрипку: http://jsfiddle.net/Kennethtruyers/jrV6u/27/

+0

Это прекрасно работает, просто используя фиктивные # ссылки. Но если im фактически ссылается на другую страницу, то просто перезагрузите исходный заголовок и перезапишите изменение, примененное с помощью jQuery – ddools

+0

. просто собираюсь использовать jQuery cookie, чтобы установить его https://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.js – ddools

Смежные вопросы