2012-12-06 46 views
16
function call(op) { 
    var x = op.selectedOptions[0].textContent; 
    var n = x.substring(0, 3); 
    //alert(n); 
    document.pts.inputbox.value = n; 
    document.pts.submit(); 
} 

Tôi có chức năng lấy giá trị nhãn từ tùy chọn đã chọn trong hộp danh sách, sau đó nó sẽ loại bỏ 3 chữ cái đầu tiên và chuyển thông tin đó vào giá trị hộp nhập.selectedOptions [0] .textContent; không hoạt động trong IE hoặc Firefox

Vấn đề là cách js đang lấy nội dung văn bản nhãn tùy chọn đã chọn. Có vẻ như Chrome hoạt động tốt, nhưng trong firefox17 và IE9 thì không có gì xảy ra. Bất kỳ đề xuất nào về cách tốt hơn để có được giá trị nhãn tùy chọn đã chọn?

EDIT: Tôi KHÔNG thể sử dụng giá trị tùy chọn, giá trị đó được dành riêng cho một cái gì đó cụ thể hơn Mọi thứ hoạt động tốt trong JSfiddle.

+0

Bạn đã cân nhắc sử dụng thuộc tính giá trị trong '

+0

Bạn có thể thử đặt mã của mình trên trang web http://jsfiddle.net để chúng tôi có thể dễ dàng điều tra không? –

+0

Có, tôi không thể sử dụng các tùy chọn Giá trị, con số đó dành cho một thứ khác. – user1868232

Trả lời

20

Hãy thử điều này

function call(op) { 
    var x = op.options[op.selectedIndex].text; 
    var n = x.substring(0, 3); 
    alert('Index : '+op.selectedIndex+' and first 3 lettrs are : '+n); 
} 

DEMO.

11

Dựa trên nhanh JSFiddle, bộ sưu tập selectedOptions chưa được hỗ trợ rộng rãi.

Fails/không được hỗ trợ:

  • IE10 (Desktop hoặc Metro)
  • IE11
  • Safari 7
  • iOS6 Opera Mini
  • Android 4.0.4 Trình duyệt
  • Android 4.0 .4 Trình duyệt Firefox

trình:

  • Chrome 23.0.1271.95
  • Opera 12.11
  • BlackBerry 10 trình duyệt
  • iOS6 Safari
  • iOS6 Chrome
  • Android 4.0.4 Opera Mobile Trình duyệt
  • Firefox 53.0
  • Cạnh
+0

Bài liên quan [ở đây] (https://stackoverflow.com/q/10711767/465053). – RBT

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