Làm thế nào để lấy nhãn của tùy chọn chọn với jQuery?


114
<select>
<option value="test">label </option>
</select>

Giá trị có thể được truy xuất bằng $select.val().

Còn về cái labelgì?

Có giải pháp nào hoạt động trong IE6 không?


Ý bạn là làm thế nào để lấy giá trị của giá trị đã chọn, giá trị đã chọn? cái nào trong nhãn trường hợp của bạn?
ant

Câu hỏi này nên được đặt lại thành "Làm thế nào để lấy văn bản của tùy chọn chọn với jQuery?" và tất cả các tham chiếu đến nhãn phải được thay thế bằng văn bản để tránh nhầm lẫn với thuộc tính nhãn.
Joel Davis

Câu trả lời:


222

Thử cái này:

$('select option:selected').text();

3
Điều này không phải lúc nào cũng chính xác. Mô tả được hiển thị của tùy chọn cũng có thể được chỉ định bởi thuộc tính 'label' (ngoại trừ <= IE7). Xem w3schools.com/tags/att_option_label.asp#gsc.tab=0w3.org/TR/html401/interact/forms.html#h-17.6
Scott Stafford

3
Để có được nhãn thuộc tính, điều này có thể được sử dụng: jQuery ( '# theid tùy chọn: chọn') attr ( 'nhãn').
David Balažic

22

Xin chào trước tiên hãy cung cấp một id cho lựa chọn là

<select id=theid>
<option value="test">label </option>
</select>

thì bạn có thể gọi nhãn đã chọn như vậy:

jQuery('#theid option:selected').text()

13

Để tham khảo, cũng có một labelthuộc tính phụ trên thẻ tùy chọn:

//returns "GET THIS" when option is selected
$('#selecter :selected').attr('label'); 

Html

<select id="selecter">
<option value="test" label="GET THIS">
Option (also called label)</option>
</select>

6

Để lấy nhãn của một tùy chọn cụ thể trong danh sách thả xuống, bạn có thể nhập điều này -

$('.class_of_dropdown > option[value='value_to_be_searched']').html();

hoặc là

$('#id_of_dropdown > option[value='value_to_be_Searched']').html();

3

Tôi thấy điều này hữu ích

$('select[name=users] option:selected').text()

Khi truy cập bộ chọn bằng thistừ khóa.

$(this).find('option:selected').text()


2

Thử cái này:

$('select option:selected').prop('label');

Thao tác này sẽ kéo ra văn bản được hiển thị cho cả hai kiểu <option>phần tử:

  • <option label="foo"><option> -> "foo"
  • <option>bar<option> -> "bar"

Nếu nó có cả labelthuộc tính và văn bản bên trong phần tử, nó sẽ sử dụng labelthuộc tính, có cùng hoạt động với trình duyệt.

Đối với hậu thế, điều này đã được thử nghiệm trong jQuery 3.1.1


0
<SELECT id="sel" onmouseover="alert(this.options[1].text);"
<option value=1>my love</option>
<option value=2>for u</option>
</SELECT>


0

Trong các trình duyệt hiện đại, bạn không cần JQuery cho việc này. Thay vào đó sử dụng

document.querySelectorAll('option:checked')

Hoặc chỉ định bất kỳ phần tử DOM nào thay vì document


-2

Bạn đang tìm $select.html()

http://api.jquery.com/html/


1
Điều đó chỉ trả về html cho tất cả các phần tử tùy chọn. Văn bản nhãn nằm ở đâu đó / ở đâu đó, nhưng đó không phải là cách hiệu quả nhất để truy cập nó.
MSpreij
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.