Javascript 使用jQuery从ASP.NET下拉列表中删除项

Javascript 使用jQuery从ASP.NET下拉列表中删除项,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我在ASP.NET中实现了两个下拉列表,但是我使用jQuery在客户端进行了一些检查,下面是一个场景:用户从ddl1中选择一个选项,然后当从ddl2中选择一个特定项时,ddl1中的一个项应该被删除或禁用,并将通知用户。 下面是jQuery代码: 在ASP.NET中,我使用Onchange调用该方法 var myTest = function () { var val1 = $('#ContentPlaceHolder1_ddlGxP').val(); va

我在ASP.NET中实现了两个下拉列表,但是我使用jQuery在客户端进行了一些检查,下面是一个场景:用户从ddl1中选择一个选项,然后当从ddl2中选择一个特定项时,ddl1中的一个项应该被删除或禁用,并将通知用户。 下面是jQuery代码: 在ASP.NET中,我使用Onchange调用该方法

    var myTest = function () {
        var val1 = $('#ContentPlaceHolder1_ddlGxP').val();
        var val2 = $('#ContentPlaceHolder1_ddlFinalizedMethod').val();
        console.log('glpvalue: ' + val1);
        console.log('finalizedmethod: ' + val2);
        if (val1 === '3' && val2 === '2') {
            //  document.getElementById('<%=txtComments.ClientID%>').value = "!Please Insert another GLP Method.";
            $("#ContentPlaceHolder1_ddlGxP[value='3']").remove();
            $("#ContentPlaceHolder1_RequiredFieldValidator10").css({"visibility": "visible", "color": "red"});

            //alert('! Please select another GxP Standard');
            $(':input[type="submit"]').prop('disabled', true);

        }
        else {
            $(':input[type="submit"]').prop('disabled', false);
            $("#ContentPlaceHolder1_ddlGxP[value='3']").remove();
            $("#ContentPlaceHolder1_RequiredFieldValidator10").css({ "visibility": "hidden", "color": "red" });
        }
问题是没有删除项目i ddl1

ddl1的实现

 <div>
        <asp:Label ID="Label2" runat="server" CssClass="stdLabel">GxP standard <span class="mandatory"> *</span></asp:Label>
if (userRole == ("Administrator") ||


<asp:DropDownList ID="ddlGxP" runat="server" CssClass="stdDropdownSmall" OnSelectedIndexChanged="ddlGxP_SelectedIndexChanged" AutoPostBack="true" />
        <asp:RequiredFieldValidator ID="RFVddlGxP" runat="server" ControlToValidate="ddlGxP" InitialValue="0" CssClass="RequiredFieldError" ErrorMessage=" ! Please insert"  />

  else
  <asp:TextBox ID="txtGxPDisabled" runat="server" CssClass="stdTextboxSmallDisabled" Enabled="false" />
     } 
</div>
ddl2的实现

    <div>
         if (!string.IsNullOrEmpty(txtFinalized.Text))
           {
             <asp:Label ID="Label23" runat="server" CssClass="stdLabel">Finalized Method<span class="mandatory"> *</span></asp:Label>
         <%}
           else
           {
               <asp:Label ID="Label17" runat="server" CssClass="stdLabel">Finalized Method </asp:Label>

        }  

if (userRole == ("Administrator") ||
      userRole == ("Expert") ||
      (userRole == ("User") && (txtOwner.Text == "" || txtOwner.Text.ToUpper() == userName.ToUpper())))
  {

        <asp:DropDownList ID="ddlFinalizedMethod" runat="server" CssClass="stdDropdown" OnSelectedIndexChanged="ddlGxP_SelectedIndexChanged" AutoPostBack="true" onchange="myTest()" />

          <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ControlToValidate="ddlFinalizedMethod" InitialValue="0" CssClass="RequiredFieldError" ErrorMessage=" !Please select another Standard"  />



         }
  else  
  {
        <asp:TextBox ID="txtFinalizedMethodDisabled" runat="server" CssClass="stdTextboxSmallDisabled" Enabled="false" />
    } 
</div>

您的问题是,您正在删除客户端的选项,但您正在自动发回整个表单-因此,一旦服务器端代码呈现控件,它就拥有所有原始元素。如果您希望更改保持不变,服务器将需要知道在客户端所做的更改,否则您将不得不管理服务器端的一切

那有什么问题吗?对不起,该项目没有从列表中删除,我使用了。隐藏;不起作用。请创建一个您的问题的小提琴示例,以便我们可以纠正该问题,并让您知道尝试此$contentplaceholder 1_ddlGxP选项[value='3']。删除;您应该删除AutoPostBack=true,否则它将在您删除后发回