Nhận giá trị của một lựa chọn trong HTML là một câu hỏi khá lặp đi lặp lại. Tìm hiểu cách trả về giá trị và văn bản của danh sách thả xuống bằng JavaScript hoặc jQuery thuần túy
Giả sử bạn có đoạn mã sau
English
Español
Português
Có hai mẩu thông tin chúng tôi có thể muốn nhận được trong trường hợp này
- Giá trị của tùy chọn đã chọn
- Văn bản của tùy chọn đã chọn
Cách lấy giá trị của một lựa chọn
Để lấy giá trị của một lựa chọn hoặc danh sách thả xuống trong HTML bằng cách sử dụng JavaScript thuần túy, trước tiên, chúng tôi lấy thẻ chọn, trong trường hợp này là theo id, sau đó chúng tôi lấy giá trị đã chọn thông qua thuộc tính selectIndex
var select = document.getElementById['language'];
var value = select.options[select.selectedIndex].value;
console.log[value]; // en
Giá trị "en" sẽ được in trên bảng điều khiển [Ctrl + Shift + J để mở bảng điều khiển]
Lấy giá trị của một lựa chọn với jQuery
$['#language'].val[]; // en
Cách lấy văn bản của một lựa chọn
Để lấy nội dung của một tùy chọn, nhưng không lấy giá trị, mã gần như giống nhau, chỉ cần lấy thuộc tính văn bản thay vì giá trị
Phần tử
1 cung cấp cho bạn một danh sách các tùy chọn. Phần tửCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
1 cho phép bạn chọn một hoặc nhiều tùy chọnCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
Để tạo phần tử
1, bạn sử dụng phần tửCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
1 vàCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
6. Ví dụ________số 8_______Code language: HTML, XML [xml]
Angular React Vue.js Ember.js
Phần tử
1 ở trên cho phép bạn chọn một tùy chọn tại một thời điểmCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
Để kích hoạt nhiều lựa chọn, bạn thêm thuộc tính
8 vào phần tửCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
1 như sauCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
Code language: HTML, XML [xml]
Angular React Vue.js Ember.js
Loại
JavaScript Select Element Demo
Select a JS Framework
Angular
React
Vue.js
Ember.js
Get the Selected Index
const btn = document.querySelector['#btn'];
const sb = document.querySelector['#framework']
btn. title = [event] => {
event.preventDefault[];
// show the selected index
alert[sb.selectedIndex];
};
Code language: HTML, XML [xml]
0
JavaScript Select Element Demo
Select a JS Framework
Angular
React
Vue.js
Ember.js
Get the Selected Index
const btn = document.querySelector['#btn'];
const sb = document.querySelector['#framework']
btn. title = [event] => {
event.preventDefault[];
// show the selected index
alert[sb.selectedIndex];
};
Để tương tác với phần tử
1 trong JavaScript, bạn sử dụng loạiCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
0Code language: HTML, XML [xml]
JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
Loại
0 có các thuộc tính hữu ích sauCode language: HTML, XML [xml]
JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
4 – trả về chỉ số dựa trên số 0 của tùy chọn đã chọn.
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
4 làJavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
6 nếu không có tùy chọn nào được chọn. Nếu phần tử
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
1 cho phép nhiều lựa chọn, thì
Code language: HTML, XML [xml]Angular React Vue.js Ember.js
4 trả về
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
9 của tùy chọn đầu tiên
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
9 – trả về thuộc tính
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
9 của thành phần tùy chọn được chọn đầu tiên nếu có. Nếu không, nó trả về một chuỗi rỗng
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
8 – trả về
Code language: HTML, XML [xml]Angular React Vue.js Ember.js
3 nếu phần tử
Code language: HTML, XML [xml]JavaScript Selected Value Select a JS Framework: Angular React Vue.js Ember.js Get the Selected Value const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; alert[sb.value]; };
1 cho phép nhiều lựa chọn. Nó tương đương với thuộc tính
Code language: HTML, XML [xml]Angular React Vue.js Ember.js
8
Code language: HTML, XML [xml]Angular React Vue.js Ember.js
Tài sản
JavaScript Select Element Demo
Select a JS Framework
Angular
React
Vue.js
Ember.js
Get the Selected Index
const btn = document.querySelector['#btn'];
const sb = document.querySelector['#framework']
btn. title = [event] => {
event.preventDefault[];
// show the selected index
alert[sb.selectedIndex];
};
Code language: HTML, XML [xml]
4
JavaScript Select Element Demo
Select a JS Framework
Angular
React
Vue.js
Ember.js
Get the Selected Index
const btn = document.querySelector['#btn'];
const sb = document.querySelector['#framework']
btn. title = [event] => {
event.preventDefault[];
// show the selected index
alert[sb.selectedIndex];
};
Để chọn một phần tử
1, bạn sử dụng API DOM nhưCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
8 hoặcCode language: HTML, XML [xml]
JavaScript Selected Value Select a JS Framework: Angular React Vue.js Ember.js Get the Selected Value const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; alert[sb.value]; };
9Code language: HTML, XML [xml]
JavaScript Selected Value Select a JS Framework: Angular React Vue.js Ember.js Get the Selected Value const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; alert[sb.value]; };
Ví dụ sau minh họa cách lấy chỉ mục của tùy chọn đã chọn
Code language: HTML, XML [xml]
JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
Làm thế nào nó hoạt động
- Đầu tiên, chọn các phần tử
0 và
Code language: CSS [css]selectBox.options
1 bằng cách sử dụng phương pháp
Code language: HTML, XML [xml]Angular React Vue.js Ember.js
2
Code language: CSS [css]selectBox.options
- Sau đó, đính kèm trình xử lý sự kiện nhấp chuột vào nút và hiển thị chỉ mục đã chọn bằng phương thức
3 khi nút được nhấp
Code language: CSS [css]selectBox.options
Tài sản
JavaScript Select Element Demo
Select a JS Framework
Angular
React
Vue.js
Ember.js
Get the Selected Index
const btn = document.querySelector['#btn'];
const sb = document.querySelector['#framework']
btn. title = [event] => {
event.preventDefault[];
// show the selected index
alert[sb.selectedIndex];
};
Code language: HTML, XML [xml]
9
JavaScript Select Element Demo
Select a JS Framework
Angular
React
Vue.js
Ember.js
Get the Selected Index
const btn = document.querySelector['#btn'];
const sb = document.querySelector['#framework']
btn. title = [event] => {
event.preventDefault[];
// show the selected index
alert[sb.selectedIndex];
};
Thuộc tính
9 của phần tửCode language: HTML, XML [xml]
JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
1 phụ thuộc vào phần tửCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
6 và thuộc tính HTMLCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
8 của nóCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
- Nếu không có tùy chọn nào được chọn, thuộc tính
9 của hộp chọn là một chuỗi trốngJavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
- Nếu một tùy chọn được chọn và có thuộc tính
9, thì thuộc tính
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
9 của hộp chọn là giá trị của tùy chọn đã chọn
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
- Nếu một tùy chọn được chọn và không có thuộc tính
9, thì thuộc tính
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
9 của hộp chọn là văn bản của tùy chọn đã chọn
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
- Nếu nhiều tùy chọn được chọn, thuộc tính
9 của hộp chọn được lấy từ tùy chọn được chọn đầu tiên dựa trên hai quy tắc trước đó
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
Xem ví dụ sau
Code language: HTML, XML [xml]
JavaScript Selected Value Select a JS Framework: Angular React Vue.js Ember.js Get the Selected Value const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; alert[sb.value]; };
trong ví dụ này
- Nếu bạn chọn tùy chọn đầu tiên, thuộc tính
9 của
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
1 trống
Code language: HTML, XML [xml]Angular React Vue.js Ember.js
- Nếu bạn chọn tùy chọn cuối cùng, thuộc tính
9 của hộp chọn là
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
8 vì tùy chọn đã chọn không có thuộc tính
Code language: JavaScript [javascript]const text = selectBox.options[1].text; const value = selectBox.options[1].value;
9
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
- Nếu bạn chọn tùy chọn thứ hai hoặc thứ ba, thuộc tính giá trị sẽ là
0hoặc
Code language: JavaScript [javascript]let selectedOption = selectBox.options[selectBox.selectedIndex];
1
Code language: JavaScript [javascript]let selectedOption = selectBox.options[selectBox.selectedIndex];
Loại let selectedOption = selectBox.options[selectBox.selectedIndex];
Code language: JavaScript [javascript]
2
let selectedOption = selectBox.options[selectBox.selectedIndex];
Trong JavaScript, loại
2 đại diện cho phần tửCode language: JavaScript [javascript]
let selectedOption = selectBox.options[selectBox.selectedIndex];
6Code language: HTML, XML [xml]
Angular React Vue.js Ember.js
Loại
2 có các thuộc tính tiện dụng sauCode language: JavaScript [javascript]
let selectedOption = selectBox.options[selectBox.selectedIndex];
6 – chỉ mục của tùy chọn bên trong bộ sưu tập các tùy chọn
Code language: JavaScript [javascript]let selectedOption = selectBox.options[selectBox.selectedIndex];
7 – trả về
Code language: JavaScript [javascript]let selectedOption = selectBox.options[selectBox.selectedIndex];
3 khi tùy chọn được chọn. Bạn đặt thuộc tính này thành
Code language: HTML, XML [xml]JavaScript Selected Value Select a JS Framework: Angular React Vue.js Ember.js Get the Selected Value const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; alert[sb.value]; };
3 để chọn một tùy chọn
Code language: HTML, XML [xml]JavaScript Selected Value Select a JS Framework: Angular React Vue.js Ember.js Get the Selected Value const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; alert[sb.value]; };
0 – trả về văn bản của tùy chọn
Code language: JavaScript [javascript]const selectedText = selectedOption.text; const selectedValue = selectedOption.value;
9 – trả về thuộc tính giá trị HTML
Code language: HTML, XML [xml]JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
Phần tử
1 có thuộc tínhCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
3 cho phép bạn truy cập các tùy chọn bộ sưu tập
const selectedText = selectedOption.text; const selectedValue = selectedOption.value;
Code language: JavaScript [javascript]
Code language: CSS [css]
selectBox.options
Ví dụ: để truy cập vào
0 vàCode language: JavaScript [javascript]
const selectedText = selectedOption.text; const selectedValue = selectedOption.value;
9 của tùy chọn thứ hai, bạn sử dụng cách sauCode language: HTML, XML [xml]
JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
Code language: JavaScript [javascript]
const text = selectBox.options[1].text; const value = selectBox.options[1].value;
Để có được tùy chọn đã chọn của phần tử
1 với một lựa chọn duy nhất, bạn sử dụng đoạn mã sauCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
Code language: JavaScript [javascript]
let selectedOption = selectBox.options[selectBox.selectedIndex];
Sau đó, bạn có thể truy cập vào
0 vàCode language: JavaScript [javascript]
const selectedText = selectedOption.text; const selectedValue = selectedOption.value;
9 của tùy chọn đã chọn thông qua các thuộc tínhCode language: HTML, XML [xml]
JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
0 vàCode language: JavaScript [javascript]
const selectedText = selectedOption.text; const selectedValue = selectedOption.value;
9Code language: HTML, XML [xml]
JavaScript Select Element Demo Select a JS Framework Angular React Vue.js Ember.js Get the Selected Index const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework'] btn. title = [event] => { event.preventDefault[]; // show the selected index alert[sb.selectedIndex]; };
Code language: JavaScript [javascript]
const selectedText = selectedOption.text; const selectedValue = selectedOption.value;
Khi phần tử
1 cho phép nhiều lựa chọn, bạn có thể sử dụng thuộc tínhCode language: HTML, XML [xml]
Angular React Vue.js Ember.js
7 để xác định tùy chọn nào được chọnCode language: JavaScript [javascript]
let selectedOption = selectBox.options[selectBox.selectedIndex];
Code language: HTML, XML [xml]
JavaScript Select Box Select one or more JS Frameworks: Angular React Vue.js Ember.js Get Selected Frameworks const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework']; btn. title = [e] => { e.preventDefault[]; const selectedValues = [].filter .call[sb.options, option => option.selected] .map[option => option.text]; alert[selectedValues]; };
Trong ví dụ này,
3 là một đối tượng dạng mảng, vì vậy nó không có các phương thứcCode language: HTML, XML [xml]
JavaScript Select Box Select one or more JS Frameworks: Angular React Vue.js Ember.js Get Selected Frameworks const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework']; btn. title = [e] => { e.preventDefault[]; const selectedValues = [].filter .call[sb.options, option => option.selected] .map[option => option.text]; alert[selectedValues]; };
4 như đối tượngCode language: HTML, XML [xml]
JavaScript Select Box Select one or more JS Frameworks: Angular React Vue.js Ember.js Get Selected Frameworks const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework']; btn. title = [e] => { e.preventDefault[]; const selectedValues = [].filter .call[sb.options, option => option.selected] .map[option => option.text]; alert[selectedValues]; };
5Code language: HTML, XML [xml]
JavaScript Select Box Select one or more JS Frameworks: Angular React Vue.js Ember.js Get Selected Frameworks const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework']; btn. title = [e] => { e.preventDefault[]; const selectedValues = [].filter .call[sb.options, option => option.selected] .map[option => option.text]; alert[selectedValues]; };
Để mượn các phương thức này từ đối tượng
6, bạn sử dụng phương thứcCode language: HTML, XML [xml]
JavaScript Select Box Select one or more JS Frameworks: Angular React Vue.js Ember.js Get Selected Frameworks const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework']; btn. title = [e] => { e.preventDefault[]; const selectedValues = [].filter .call[sb.options, option => option.selected] .map[option => option.text]; alert[selectedValues]; };
7. Ví dụ: phần sau trả về một mảng các tùy chọn đã chọnCode language: HTML, XML [xml]
JavaScript Select Box Select one or more JS Frameworks: Angular React Vue.js Ember.js Get Selected Frameworks const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework']; btn. title = [e] => { e.preventDefault[]; const selectedValues = [].filter .call[sb.options, option => option.selected] .map[option => option.text]; alert[selectedValues]; };
Code language: PHP [php]
[].filter.call[sb.options, option => option.selected]
Và để lấy thuộc tính
0 của các tùy chọn, bạn xâu chuỗi kết quả của phương thứcCode language: JavaScript [javascript]
const selectedText = selectedOption.text; const selectedValue = selectedOption.value;
4 với phương thứcCode language: HTML, XML [xml]
JavaScript Select Box Select one or more JS Frameworks: Angular React Vue.js Ember.js Get Selected Frameworks const btn = document.querySelector['#btn']; const sb = document.querySelector['#framework']; btn. title = [e] => { e.preventDefault[]; const selectedValues = [].filter .call[sb.options, option => option.selected] .map[option => option.text]; alert[selectedValues]; };
0, như thế nàyCode language: PHP [php]
[].filter.call[sb.options, option => option.selected]