2013-03-12 39 views
0

我在ASP.Net中有一个下拉列表,其中包含选项“否”和“是”。当选择“是”时,我想要一个jQuery插件出现在ddl下面。我可以通过调用它来使插件出现,但是我有一个不工作的if语句。如果选择ASP.Net下拉值,jQuery插件将不会显示

<script type="text/javascript"> 
    $(document).ready(function() { 
     if ($('#<% ddlColorChart.Yes %> option:selected')) { 
      $('#colorpickerBox').ColorPicker({ flat: true }); 
     } 
    }); 
</script> 

我得到以下编译器错误消息: 编译器错误消息:CS1002:;预计

我找不到分号。

回答

1

不应该

if ($('#<% ddlColorChart.Yes %> option:selected')) { 

if ($('#<%=ddlColorChart.ClientID %> option:selected')) { 

总之,你需要渲染控制的

因此,我已经改变了ID。是的财产使用.ClientID

另外你在哪里缺少一个= <%=这相当于Response。写。因此,这就是为什么你得到关于分号的编译错误。

完整的示例:

<script type="text/javascript"> 
    $(document).ready(function() { 
     if ($('#<%=ddlColorChart.ClientID %> option:selected')) { 
      if($(this).val() == "Yes"){ 
       $('#colorpickerBox').ColorPicker({ flat: true }); 
      } 
     } 
    }); 
</script> 
+0

什么是 '客户端ID'?如何检查是否选择了“是”的值? – mishmomo 2013-03-12 16:54:52

+0

ClientID就是这样。提交给客户端的ID。如果您可以使用$(this).val(),则检查后面的值。所以像if($(this).val()==“Yes”){} – DaveHogan 2013-03-12 16:55:41

+0

Ooooh,我明白了。我试图将.val()连接到第一个if语句。 – mishmomo 2013-03-12 16:59:26