2014-02-06 50 views
0

您好我有3个下拉列表,我用<select>标签实现。在第一个DDL我associeted下面的JavaScript函数getElementById返回空,但有元素

function aggiorna_provincia(tipo_pannello) { 
    var objregione; 
    objregione = document.getElementById("<%=regione_residenzaIDropDownList.ClientID%>"); 
    id_regione = objregione.options[objregione.selectedIndex].value; 

    if (id_regione != 0) { 
     $.ajax({ 
      url: "../jquery/update1.aspx", 
      type: "get", 
      data: "cc=" + id_regione + "&tp=" + tipo_pannello, 
      success: function (response) { 
       $("#div_provinciaI").html(response); 
       $("#<%=provincia_residenzaIDropDownList.ClientID%>").focus(); 
      }, 
      error: function() { 
       alert("errore di connessione"); 
      } 
     }); 
    } 
    break;  
} 

和UPDATE1页面

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    Dim codice As Integer = Integer.Parse(Request.QueryString("cc").ToString()) 
    Dim tipo_pannello As Integer = Integer.Parse(Request.QueryString("tp").ToString()) 
    Dim regione As New List(Of regioni) 

    Using db_antiriciclaggio As New db_antiriciclaggioEntities 
     Try 
      regione = (From tab_r In db_antiriciclaggio.regioni Where tab_r.IDNazione = codice Select tab_r).ToList() 
     Catch ex As Exception 
     End Try 
    End Using 
    Response.Write("<div id='div_regioneI' style='text-align:left'>") 
    Response.Write("<select id='regione_residenzaIDropDownList' runat='server' onchange='aggiorna_provincia(1)'>") 

    If (regione.Count = 0) Then 
     Response.Write("<option value='0'>Scegli prima lo stato</option>") 
    Else 
     Response.Write("<option value='0'>Scegli la regione</option>") 
    End If 
    For Each temp In regione 
     Response.Write("<option value='" & temp.idregione & "'>" & temp.nomeregione & "</option>") 
    Next 

    Response.Write("</select>") 
    Response.Write("</div>") 
End Sub 

但是当我运行aggiorna_provincia()功能(类似的功能更新第三DDL)第二DDL当我尝试在javascript函数中查找ddl时,我获得空对象

+3

请在[jsfiddle](http://jsfiddle.net)或类似的服务上创建一个[*简单*测试用例](http://css-tricks.com/reduced-test-cases/),以便我们不必通过不相关的代码来争论。 – zzzzBov

+0

我认为在jsfiddle,但代码无法运行,因为是Javascript和asp.net的组合 –

+0

重点是*不*使用ASP.NET,并显示少量呈现输出的演示。 – zzzzBov

回答

0

我想“<%= regione_residenzaIDropDownList.ClientID%>”和“regione_residenzaIDropDownList”只是不一样。

顺便说一句:你的response.write(...)方法看起来会让你难以维护你的代码。你应该在模板中使用更多的asp。

+0

但他们有相同的ID ..或不是? –

+0

一个只是一个字符串,另一个是一个标签,它解析为一个id。 – allo