2013-11-01 16 views
13

Tôi cần lấy giá trị mà người dùng chọn từ trình đơn thả xuống của trình khởi động twitter. Khi người dùng chọn một giá trị, tôi muốn menu thả xuống hiển thị giá trị đó. Vì vậy, người dùng chọn 'đang chờ xử lý' sau đó tôi muốn thay đổi giá trị thả xuống đã chọn từ đó và khi người dùng hoàn thành biểu mẫu, tôi muốn truy xuất giá trị đã chọn. Ai đó có thể chỉ cho tôi đúng hướng không?Twitter Bootstrap: Làm cách nào để có được giá trị thả xuống đã chọn?

<div class="btn-group"> 
    <i class="dropdown-arrow dropdown-arrow-inverse"></i> 
    <button class="btn btn-primary">status</button> 
    <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> 
    <span class="caret"></span> 
    </button> 
    <ul class="dropdown-menu dropdown-inverse"> 
    <li><a href="#fakelink">pending</a></li> 
    <li><a href="#fakelink">active</a></li> 
    <li><a href="#fakelink">discontinued</a></li> 
    </ul> 
</div> 

Cảm ơn, Matt

+0

Câu trả lời bên dưới những gì bạn đang tìm kiếm? – PSL

+0

Có. Hai câu trả lời kết hợp là khá nhiều những gì tôi cần. Tôi có thể cần phải hỏi tiếp theo về cách thiết lập một trong những lis như hoạt động ... –

Trả lời

15

Bootstrap cung cấp cho bạn với tối thiểu chức năng cần thiết cho việc thực hiện của bạn, họ không Dropdowns thay vào đó họ chỉ là những ul, li với css áp dụng vào nó và một số sự kiện đăng ký trong bootstrap plugin để bật nút để hiển thị chúng dưới dạng menu thả xuống. Điều này bạn cần làm một mình.

Thiết lập số nhận dạng cho nút trạng thái nói className btnStatus và liên kết sự kiện nhấp chuột với liên kết thả xuống. và làm một cái gì đó như thế này?

$('.dropdown-inverse li > a').click(function(e){ 
    $('.btnStatus').text(this.innerHTML); 
}); 

Demo

2

bạn có thể thử này:

u có thể sử dụng lớp hoặc id cho selector để chọn dễ dàng hơn các yếu tố. để sử dụng giá trị, bạn cũng có thể sử dụng value trong u javascript với jQuery.

$().ready(function(){ 
     $('a').click(function(){ 
      var value = $(this).text(); 
      alert(value); 
     }); 
    }); 

Demo: http://jsfiddle.net/mr_mohsen_rasouli/A8m39/

10

tôi đã cùng một vấn đề. Giải pháp là khá dễ dàng và tôi nghĩ rằng các câu trả lời ở trên có thể được overcomplicating một chút.

Chỉ cần sử dụng $ .text (this)()

Gán tên lớp để "" bit sau đó ..

$(".yourUlClassName li a").click(function() { 
    var yourText = $(this).text(); 
}); 
+0

Cảm ơn. Điều đó làm việc cho tôi – mark1234

+1

Điều này sẽ không hoạt động trên các thiết bị cảm ứng, khiến chúng trở thành lớp phủ '.dropdown-backdrop' nắm bắt tất cả các sự kiện nhấp chuột và ngăn chặn việc thực thi thêm với' return false'. –

0

Hãy thử như thế này -

$(document.body).on('click', '.dropdown-menu li a', function (e) { 
    alert($(this).text()); 
}); 

Demo - Fiddle

Các vấn đề liên quan