2010-09-23 92 views
0

我尝试过改变级联下拉列表例如http://www.codedigest.com/Articles/jQuery/224_Building_Cascading_DropDownList_in_ASPNet_Using_jQuery_and_JSON.aspx级联下拉列表不工作

但我总是得到消息“Microsoft JScript运行时错误:对象预期”

也许有人有一个想法?

<asp:Content ID="Content1" ContentPlaceHolderID="contentplaceholderHEAD" runat="Server"> 
</script src="~/_scripts/jQuery-1.4.2.js" type="text/javascript"> 
<script language="javascript"> 
    $(document).ready(function() { 
     $("#<%=Ticket_ArtDropDownList.ClientID %>").change(function() { 
      $("#<%=Ticket_StatusSelect.ClientID %>").html(""); 
      var Ticket_Art = $("#<%=Ticket_ArtDropDownList.ClientID %> > option:selected").attr("value"); 
      if (Ticket_Art != 0) { 
       $.getJSON('Ticketdetails.ashx?Ticket_Art=' + Ticket_Art, function(cities) { //wozu dient dieses "cities" ? 
        $.each(cities, function() { 
         $("#<%=Ticket_StatusSelect.ClientID %>").append($("</option>").val(this['Ticket_Art']).html(this['Text'])); 
        }); 
       }); 
      } 
     }); 
    }); 
</script> 

,因为它不是corectly工作不能标记我的所有代码为 “Sourceode” ..

<asp:Content ID="Content2" ContentPlaceHolderID="maincontent" runat="Server"> 
<div> 

TICKET_ID: Ticket_Art: Ticket_Status:

回答

1

什么我站出来是你的脚本标签......我不相信被列入jQuery的正确做法是:

</script src="~/_scripts/jQuery-1.4.2.js" type="text/javascript"> 

应该是:

<script src="~/_scripts/jQuery-1.4.2.js" type="text/javascript"></script> 

还要检查你的源,请确保~/正在解析到最终HTML中的正确目录。同样在你的循环中,$("</option>")应该是:$("<option/>")

最后的建议是你可以直接使用.val()<select>获得的电流值,就像这样:

var Ticket_Art = $("#<%=Ticket_ArtDropDownList.ClientID %>").val(); 
+0

您好,我的文章中的代码标记将转换为,将选项标记转换为。但你在哪里是正确的。 jQuery文件的路径是错误的。现在我没有得到对象检查错误。但级联下拉列表不起作用。 – float 2010-09-24 06:19:11

+0

当我尝试使用调试器时,我没有看到脚本代码。事件处理程序有问题吗? – float 2010-09-24 06:24:54

+0

Firebug与此行存在问题:$(“#<%= Ticket_StatusSelect.ClientID%>”)。append($(“”).val(this ['Ticket_Art'])。html(this ['Text “])); – float 2010-09-24 09:06:58

0
  • 路径jQuery的文件是不正确的。
  • 设置选项不正确。响应中没有Ticket_Art,而是Ticket_Status。