Làm cách nào để bật vô hiệu hóa danh sách thả xuống dựa trên giá trị trong một danh sách thả xuống khác trong JavaScript?

Đã giải quyết đây là cách giải quyết mà tôi sử dụng

chức năng Javascript

function myDisable(){
    var elements = document.querySelectorAll('.dropdown-display');
    
    elements.forEach(function(element){
       element.classList.add('toDisable');
    });
}

myDisable();

CSS

.toDisable{
    background-color: #dfe0e0 !important;
    pointer-events: none; /* não reagir a qualquer evento de rato como arrastar, clique etc */
}

Với điều này, tôi có thể "chặn" sự kiện nhấp vào danh sách thả xuống

Xin chào,

Vui lòng thử mã này

\\Javascript

$('#ParentDD').change(function(){
var SelectedDD = $(this).val();
if(SelectedDD == "P1")
{
var x=document.getElementById("ChildDD");
    x.disabled=true;
}
else if(SelectedDD == "P2")
{
var x=document.getElementById("ChildDD");
    x.disabled=false;
}
});

\\Mã khách hàng

 
 



 
 

Tôi đã đọc tài liệu này để hiểu rõ hơn để đạt được yêu cầu của mình. Tôi đã thử đoạn mã dưới đây

sử dụng các tập lệnh jquery bên dưới

     
                 
                 

và tôi đã nhận xét các tập lệnh trên và sử dụng tập lệnh này theo tài liệu, logic bật hoặc tắt logic của tôi không hoạt động nhưng như thể hiện trong ví dụ tài liệu đang hoạt động

Vì vậy, hãy gợi ý cho tôi khái niệm nào tôi nên sử dụng để đạt được chức năng này

     

Tự động thêm các bản ghi vào bảng jquery bằng mã bên dưới

   function AddAutoTradePagerows() {  
     
       $('#btnAdd').on("click", function (e) {  
           e.preventDefault();  
     
           //selectedinstrument: $('#AutoTradeTop_Instrument option:selected').text()   
           var paramsmbl = { entredsmbl: $('#search').val() };  
           //alert(paramsmbl.entredsmbl);  
     
           $.ajax({  
     
               type: "POST",  
               contentType: "application/json; charset=utf-8",  
               url: "AutoTrade.aspx/AutoFillData",  
               data: JSON.stringify(paramsmbl),  
               dataType: "json",   
     
               dataFilter: function (data) {  
     
                   return data;  
               },  
     
               success: function (data) {  
                  var ddlExitoptsdata = '';  
                 $.each(data.d, function (key, value) {  
     
                       if (value.Type == "exitparameters") {  
     
                           //Adding values to variable  
                           ddlExitoptsdata += "";  
                       }  
                   });  
                      
   //Calling method to fill the data  
            AddTableRowsToTable(symbol, instrument, expdate, lotsize, delta, ltpliveamount, strikeprice, optionsdata, ddlExitoptsdata, ddlSToptsdata);  
     
                     
   	},  
               error: function ajaxError(data) {  
                   alert(data.status + ' : ' + data.statusText);  
               }  
     
           });  
     
             
     
       })  
     
   }  
     
   function AddTableRowsToTable(initialsymbal, inst, exdate, lsize, delta, ltp, sprice, optionsdata, ddlExitoptsdata, ddlSToptsdata) {  
        
   //adding the dropdownlist ot variable  
       var ddlExit = "" + ddlExitoptsdata + "";  
       
           var trd = "";  
           trd += "";  
           trd += "";  
           trd += ddlExit; // dynamically adding the dropdownlist to jquery table   
           trd += "";  
           trd += " ";  
           trd += " ";  
           trd += " ";  
           trd += " ";  
           trd += "";  
           $("#EntryParametersTableRightDataID tbody").append(trd);  
     
       }  
       
   }  

Tôi đã tạo ddlexitchange(txt) cho tùy chọn mà tôi đang chọn dựa trên tùy chọn đó, các giá trị sẽ tắt/bật

   function ddlexitchange(txt) {  
     
   //alert(txt);  
    if (txt != undefined) {  
     
              if (txt.toLowerCase() == "sq off leg") {  
               //$("td:eq(2)").prop("disabled", true); //This functionality is not working  
   //$("td:eq(2) input").prop("disabled", false); // Not working also  
     
   $("td:eq(2)").prop("disabled", true); //in this 2 place I want to pass the dynamic index value of textbox like show in image(textbox)  
     
           }  
           else {  
               $("td:eq(2)").prop("disabled", false);  
           }  
   }  

Và tôi đã thử logic này, cũng không hoạt động tốt

________số 8_______

Và ở đây tôi đang gọi hàm ddlexitchange(txt) này ở điều khiển thả xuống là onchange='ddlexitchange(this.value);'. Bằng cách sử dụng chức năng này, giá trị đã chọn sẽ đến chính xác (tại mỗi hàng)

Ghi chú. - Yêu cầu của tôi là nếu tôi thay đổi bất kỳ giá trị nào trong danh sách thả xuống dựa trên giá trị TextBox sẽ tắt hoặc bật riêng trong từng hàng

Hình ảnh Ví dụ là. -

Hình ảnh trên cho chúng tôi biết nếu tôi chọn None Tất cả TextBox phải ở chế độ tắt (không thể chỉnh sửa) và nếu tôi chọn bất kỳ TextBox nào khác thì sẽ được bật (tại mỗi hàng [ và chúng tôi có thể thêm n số hàng ==> đây là

     
2])

Làm cách nào để thay đổi giá trị thả xuống dựa trên javascript thả xuống khác?

Chúng tôi muốn thay đổi các tùy chọn đã chọn dựa trên các danh sách thả xuống khác, vì vậy chúng tôi sẽ thực hiện theo các bước bên dưới. .
Tạo một biến trạng thái ban đầu là null hoặc không xác định
Tạo các mảng khác nhau cho các danh sách thả xuống khác nhau
Tạo một biến cục bộ nói loại sẽ chứa bất kỳ mảng nào dựa trên danh sách thả xuống đã chọn

Làm cách nào tôi có thể tắt một tùy chọn trong lựa chọn dựa trên giá trị của nó trong Javascript?

Bạn có thể sử dụng querySelectorAll và forEach trong số NodeList kết quả để thực hiện điều tương tự dễ dàng hơn vào năm 2022.

Làm cách nào để điền vào Danh sách thả xuống dựa trên một danh sách thả xuống khác trong Javascript?

Liên kết trình xử lý sự kiện thay đổi và điền vào thẻ chọn thứ hai dựa trên giá trị đã chọn . Lưu câu trả lời này. Hiển thị hoạt động trên bài đăng này. Bạn có thể tạo trình lắng nghe thay đổi cho hộp chọn đầu tiên và điền html của hộp chọn thứ hai.

Làm cách nào để bật tùy chọn vô hiệu hóa thả xuống trong javascript?

Tắt/Bật Danh sách thả xuống bằng javascript .
đầu vào var = tài liệu. getElementsByClassName('dropdown-container');
if($parameters). IsActive){ /* Ativa tudo */ đầu vào. forEach(function(input){.
đầu vào var = tài liệu. querySelectorAll('input[type="text"], input[type="checkbox"], input[type="number"], input[type="tel"]');