Nhận id tùy chọn đã chọn với jQuery


80

Tôi đang cố gắng sử dụng jQuery để thực hiện một yêu cầu ajax dựa trên một tùy chọn đã chọn.

Có cách nào đơn giản để truy xuất id tùy chọn đã chọn (ví dụ: "id2") bằng jQuery không?

<select id="my_select">
   <option value="o1" id="id1">Option1</option>
   <option value="o2" id="id2">Option2</option>
</select>


$("#my_select").change(function() {
    //do something with the id of the selected option
});

Câu trả lời:


215

Bạn có thể lấy nó bằng cách sử dụng :selectedbộ chọn , như sau:

$("#my_select").change(function() {
  var id = $(this).children(":selected").attr("id");
});

Làm cách nào để áp dụng giải pháp của bạn trong javascript thuần túy?
Leslie Nyahwa

23

var id = $(this).find('option:selected').attr('id');

sau đó bạn làm bất cứ điều gì bạn muốn với selectedIndex

Tôi đã sửa lại câu trả lời của mình ... vì selectIndex không phải là một biến tốt để làm ví dụ ...


2 nhận xét ở đây, anh ấy đã có phần tử DOM với thisbên trong một trình xử lý sự kiện, không cần phải thực hiện tra cứu lại ... và có thể muốn chọn một tên biến khác, selectedIndexsẽ đặc biệt không chính xác ở đây :)
Nick Craver

vâng ... xin lỗi ... tôi đã vội vàng ... và biến Chỉ số được chọn đã nằm trong tay ... tất nhiên anh ấy không cần phải chuyển lại .. tôi sẽ làm lại
Mihai Iorga

Cá nhân tôi chọn tùy chọn này bc nó không yêu cầu hàm
.change


5

Cách dễ nhất để làm điều này là var id = $ (this) .val (); từ bên trong một sự kiện như thay đổi.

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.