2013-04-26 33 views
0

嗨,我有一個下拉如何禁用一個下拉這是跨度--- jQuery的

 <div class="dvPortOmmisionRightInner"> 
     <div style="float: left"> 
      <select id="ddlAction" onchange="showSelected(this.value)"> 
       <option value="-1" selected="selected"> </option> 
       <option value="1">Indirect Call</option> 
       <option value="2">Cargo Diversion</option> 
       <option value="3">Cargo Rollover</option> 
       <option value="4">Shift Cargo</option> 
      </select> 
     </div> 
    </div> 

    <div class="dvOmmisionPortinner"> 

     <p>Service</p> 
     <span class="ShowSpan1" style="float: left"> 
      <asp:DropDownList ID="ddlService" runat="server" ClientIDMode="Static" CssClass="ddlService"></asp:DropDownList> 
     </span> 

     <p>Voy</p> 
     <span style="float: left" class="ShowSpan2"> 
      <select id="ddlVoy" name="ddlVoy" class="ddlVoy"></select> 
     </span> 

這裏根據選擇的選擇,我必須禁用幾個下拉框...,

首先,當我點擊間接調用我的ddlService下拉必須禁用..

var myDivs = new Array(1, 2, 3, 4); 

    function showSelected(sapna) { 
     var t = 'ShowSpan' + sapna, 
      r, dv; 
     r = 'ShowSpan' + myDivs; 

     dv = document.getElementById(r); 
     if (dv) { 
      if (t === r) { 
         // Here my ddlService must get Disabled... 


      } 
      } else { 
       dv.style.display = 'none'; 
      } 
     } 
     return false; 
    } 

是否有任何其他方式基礎上選擇值禁用下拉???

當iam試圖diable這個dropdon它沒有被禁用。

我的考驗都像

$("#ddlService").attr("disabled", true); 
    $("#ddlService").attr("disabled", "disabled"); 
    $(".ShowSpan1").attr('readonly', true); 
    $(".ShowSpan1").attr("disabled", "disabled"); 

當我禁用我的SPAN其進入只讀但我仍然可以訪問下拉 是否有任何其他的方法來禁用一個下拉?

由於提前

回答

1
$(".ddlService").prop("disabled", true); 

我已經測試也爲我的回答及其工作

設計網頁的HTML如下

<span class="ShowSpan1" style="float: left"> 
      <asp:DropDownList ID="ddl" runat="server" CssClass="ddlservice"> 
       <asp:ListItem Text="1" Value="1"></asp:ListItem> 
       <asp:ListItem Text="2" Value="2"></asp:ListItem> 
       <asp:ListItem Text="3" Value="3"></asp:ListItem> 
       <asp:ListItem Text="4" Value="4"></asp:ListItem> 
      </asp:DropDownList> 
     </span> 

和禁用下拉列表如下jQuery代碼。

<script type="text/javascript"> 

     $('document').ready(function() { 

      $(".ddlservice").prop("disabled", true); 
      return false; 


     }); 
    </script> 

AS OP編輯的問題,現在有在上面選擇下拉值禁用的下拉列表中,所以我的編輯答案如下:

<div class="dvPortOmmisionRightInner"> 
     <div style="float: left"> 
      <select id="ddlAction"> 
       <option value="-1" selected="selected"> </option> 
       <option value="1">Indirect Call</option> 
       <option value="2">Cargo Diversion</option> 
       <option value="3">Cargo Rollover</option> 
       <option value="4">Shift Cargo</option> 
      </select> 
     </div> 
    </div> 

    <div class="dvOmmisionPortinner"> 

     <p>Service</p> 
     <span class="ShowSpan1" style="float: left"> 
       <select id="ddlService" name="ddlService" class="ddlService"> 
       <option value="1">Service</option> 

       </select> 
     </span> 

     <p>Voy</p> 
     <span style="float: left" class="ShowSpan2"> 
      <select id="ddlVoy" name="ddlVoy" class="ddlVoy"> 
       <option value="1">Voy</option> 
      </select> 
     </span> 

和jQuery這個

$('documnent').ready(function(){ 
    $('#ddlAction').change(function(){ 
     var action=$("#ddlAction option:selected").val(); 
     alert(action); 
     if(action==1) 
     { 
      $('#ddlService').prop('disabled','true'); 
     } 
     else if (action==2) 
     { 
      $('#ddlVoy').prop('disabled','true'); 
     } 

    }); 
}); 

JS FIDDLE LINK

2

使用ClientIDMode="Static"作爲下拉控件。它不起作用,因爲頁面呈現時,服務器端控件ids被動態更改並且機器間不同。

+0

是的,我有..和一件事IAM從數據庫中獲取的DDL值動態 – 2013-04-26 04:24:09

0
$('span.ShowSpan1').find('*').attr('disabled',true); 

試試這個 將禁用您的跨度所有元素

相關問題