2011-07-04 27 views
8

Tôi đang cố gắng để có được menu thả xuống để thay đổi hộp văn bản, nhưng dường như có vấn đề.HTML JavaScript Dropdown selectedIndex

<head> 
    <title>DropDown</title> 
    <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
    <meta name="generator" content="Geany 0.20" /> 
    <script type="text/javascript"> 
     function chkind() { 
      var dropdown1 = document.getElementById('dropdown1'); 
      var textbox = document.getElementById('textbox'); 
      var a = dropdown1.options[dropdown1.selectedIndex]; 
      if(a == 0){ 
       textbox.value = "hi"; 
      } else if(a == 1) { 
      textbox.value = "bye"; 
     } 
    } 
    </script> 
</head> 

<body> 
    <select onchange="chkind()" id="dropdown1"> 
     <option>Hi</option> 
     <option>Bye</option> 
    </select><br /> 
    <input id="textbox" type="text" /> 
</body> 

Trả lời

11

Có lẽ chỉ:

var a = dropdown1.selectedIndex; 

nếu bạn đang cố gắng để kiểm tra xem tùy chọn 0 được chọn.

Hoặc là, hoặc cung cấp các giá trị tùy chọn của bạn trong HTML và tự kiểm tra các giá trị.

+0

cảm ơn bạn:) Nó đã làm việc! – yanike

0
var a = dropdown1.selectedIndex; 
    if(a == 0){ 
     textbox.value = "hi"; 
    } else if(a == 1) { 
     textbox.value = "bye"; 
    } 
    } 
0

Bạn đang lưu trữ giá trị của mặt hàng đã chọn trong biến a để không thể so sánh nó với chỉ mục của nó. Xem bên dưới để biết phiên bản đã sửa.

function chkind(){ 
    var dropdown1 = document.getElementById('dropdown1'); 
    var textbox = document.getElementById('textbox'); 
    var a = dropdown1.selectedIndex; 

    if(a == 0){ 
     textbox.text = "hi"; 
    } else if(a == 1) { 
     textbox.value = "bye"; 
    } 
} 
1

tôi muốn khuyên bạn làm điều đó theo cách này:

<head> 
    <title>DropDown</title> 
     <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
     <meta name="generator" content="Geany 0.20" /> 
     <script type="text/javascript"> 
     function chkind(){ 
     var dropdown1 = document.getElementById('dropdown1'); 
     var textbox = document.getElementById('textbox'); 
     textbox.value=dropdown1.value; 
     } 
     </script> 
    </head> 
    <body> 
    <select onchange="chkind()" id="dropdown1"><option value='Hi'>Hi</option><option value = 'Bye'>Bye</option></select><br /><input id="textbox" type="text" /> 
    </body> 

các thay đổi mã:

  1. Trước hết, hãy nhìn vào hộp lựa chọn, tất cả các thẻ tùy chọn hiện có thuộc tính 'giá trị'. Thao tác này sẽ cho trình duyệt biết giá trị đầu vào sẽ có khi chọn một tùy chọn nhất định. Bạn cũng có thể sử dụng điều này để lợi thế của bạn để đặt giá trị ngắn hơn nội dung của tùy chọn, ví dụ: khi bạn có công cụ chọn quốc gia, một trong các tùy chọn của bạn có thể là <option value='US'>United Stated</option>.
  2. Trong tập lệnh, bạn không có câu lệnh if nữa, chúng tôi chỉ đặt giá trị của hộp văn bản thành giá trị của hộp chọn của bạn.
+0

Đây là một cách khác mà tôi có thể thực hiện. Cảm ơn! – yanike

1

tính năng này sẽ hoạt động. Xin lưu ý rằng 'a' là phần tử DOM (Option)

function chkind(){ 
var dropdown1 = document.getElementById('dropdown1'); 
var textbox = document.getElementById('textbox'); 
var a = dropdown1.options[dropdown1.selectedIndex]; 
if(a.index == 0){ 
    textbox.value = "hi"; 
} else if(a.index == 1) { 
    textbox.value = "bye"; 
} 
} 

hoặc

function chkind(){ 
    var dropdown1 = document.getElementById('dropdown1'); 
    var textbox = document.getElementById('textbox'); 
    if(dropdown1.selectedIndex == 0){ 
     textbox.value = "hi"; 
    } else if(dropdown1.selectedIndex == 1) { 
     textbox.value = "bye"; 
    } 
    } 
2

Bạn cần phải chọn thuộc tính giá trị như sau:

var a = dropdown1.options[dropdown1.selectedIndex].value; 
0
$('#selectid option:nth-child(1)').attr('selected', 'selected'); 
Các vấn đề liên quan