[HTML/Javascript] Dropdownbox(combobox) value change, visible or hidden

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi gigamesh, 1/9/11.

  1. gigamesh

    gigamesh T.E.T.Я.I.S

    Tham gia ngày:
    26/6/04
    Bài viết:
    553
    Mình đang làm 1 form nhập dữ liệu, ví dụ form này có 2 combobox
    Mình muốn khi chọn Option 1 ở combobox đầu tiên, ở combobox thứ 2 sẽ chỉ hiển thị 2 option là 1.1 và 1.2 . Nếu chọn Option 2 thì ở combobox 2 sẽ hiển thị 2 option là 2.1 và 2.2. Ko biết có đoạn code js hoặc cách nào khác có thể làm dc như thế ko.
    - Nếu cách trên ko thể làm dc thì mình muốn làm 1 cách khác là tách cái combobox thứ 2 ra thành 2 cái combobox 2 và 3, 2 cái này mặc định là hidden. Khi chọn option 1 ở combobox 1 thì combobox 2 sẽ hiện ra, chọn option 2 thì combobox 3 sẽ hiện ra
    Mong các bạn giúp đỡ :D
     
  2. Nighter

    Nighter Lão Làng GVN

    Tham gia ngày:
    14/12/07
    Bài viết:
    2,297
    Nơi ở:
    HuyDesign.com
    if (document.getElenmentById('select1').value="1")
    document.getElenmentById('select2').value="3"
     
  3. Frag

    Frag Youtube Master Race

    Tham gia ngày:
    23/8/10
    Bài viết:
    43
    #2: 2 dấu = ở dòng đầu tiên thì phải!
    #1:
    Test xem thử:
    <html>
    <head>
    <script language = "JavaScript">
    function quickSelect() {
    var bnd = document.form1.test.value;
    if (bnd == "1") {
    document.form1.s1[3].selected = "1"; //ở đây dùng mảng, bắt đầu từ 0
    }
    else{
    document.form1.s1[2].selected = "1";
    }
    }
    </script>
    </head>
    <body>
    <form name="form1">
    <SELECT name="s1">
    <OPTION value="3">Option 1.1</OPTION>
    <OPTION value="4">Option 1.2</OPTION>
    <OPTION value="5">Option 2.1</OPTION>
    <OPTION value="6">Option 2.2</OPTION>
    </SELECT>
    <p>

    <SELECT name="test" onchange="quickSelect();"> <!-- su kien onchange khi có sự thay đổi -->
    <OPTION value="1">Option 1</OPTION>
    <OPTION value="2">Option 2</OPTION>
    </SELECT>
    </form>
    </body>
    </html>
     
  4. gigamesh

    gigamesh T.E.T.Я.I.S

    Tham gia ngày:
    26/6/04
    Bài viết:
    553
    Cảm ơn các bạn, mình đã tìm dc 1 đoạn code rất hay

    dòng code
    sẽ lấy giá trị của toàn bộ mảng. Nhưng mình ko muốn lấy toàn bộ. Ví dụ mình tách ra thành 2 trường hợp so sánh, nếu TH1 thì lấy giá trị của mảng từ B11 đến B14, TH2 thì lấy từ B15 đến B17 thì phải sửa dòng code trên như thế nào ?
     
  5. 1s1k_d2006

    1s1k_d2006 The Warrior of Light Lão Làng GVN

    Tham gia ngày:
    20/8/05
    Bài viết:
    2,023
    Nơi ở:
    SG
    Thì tách cái object literal bmCheckResultArrB ở trên ra làm 2 cái thôi
    Hoặc viết switch-case khi loop trong cái object literal đầu tiên, cái đấy thì viết dài hơn, nhưng mà tổng quát + code dễ đọc hơn.
    Mà như vậy vẫn còn đầy thứ xảy ra, bạn thử nghĩ nếu các option chọn không liên tục, etc. Mình thấy bạn nên luyện thêm cơ bản của JS nói riêng hoặc programming language nói chung thì sau này linh động deal với các trường hợp khác nhau được :)
     
    Chỉnh sửa cuối: 6/9/11
  6. gigamesh

    gigamesh T.E.T.Я.I.S

    Tham gia ngày:
    26/6/04
    Bài viết:
    553
    hì mình muốn để nó trong cùng 1 mảng vì số lượng option cũng khá nhiều :D. Lý thuyết thì lâu mình ko đụng vào với cả lười nên hổng nhiều lắm, h gặp chỗ nào mắc thì chỉ có lên hỏi anh gúc tìm code rồi đem về chỉnh sửa thôi :D
     

Chia sẻ trang này