代码之家  ›  专栏  ›  技术社区  ›  MrM

我可以不在javascript中使用disable禁用下拉列表吗?

  •  1
  • MrM  · 技术社区  · 14 年前

    我有一个基于复选框onclick启用/禁用的下拉列表。在调试时,如果在控制器中禁用复选框,则不会设置对象引用。

    控制器

    Subject = Request.Form["DetailSelect" + rowID].ToString();
    

    JavaScript

    ddlSelect.disabled = !ddlSelect.disabled;
    

    阿斯克斯

    <select = id="detailSelect<%=item.rowID"%> name="DetailSelect<%=item.rowID%>">
         <option value="">--Choose One--</option>
         <option value="Math">Math</option>
         <option value="English">English</option>
         <option value="History">History</option>
    </select>
    

    我应该在哪里禁用下拉列表,而不使用javascript中的禁用切换?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Matthew Abbott    14 年前

    如果不使用disabled属性,则可以使用属性:

    <select ... disabled="disabled"></select>
    
        2
  •  1
  •   Neel    14 年前

    你可以通过jquery来实现。

     $("input[id$='chkbox']").click(function() {  
                $("select[id$='ddl']").attr("disabled", !$(this).is(":checked"));  
           }); }); 
    

    其中chkbox是复选框的ID,ddl是下拉列表的ID

        3
  •  0
  •   MrM    14 年前

    我在使用隐藏对象的地方做了一些变通,在禁用javascript函数中的下拉列表之前,我将值分配给隐藏的输入。

    阿斯克斯

    <input id="hiddenSelect" type="hidden" name="HiddenSelect" value="" />
    

    JavaScript

    var ddlSelect = document.getElementById('detailSelect' + rowID).value;
    document.getElementById('hiddenSelect').value = ddlSelect;
    ddlSelect.disable = !ddlSelect.disabled;