2017-01-23 75 views
0

嗨,我正在开发一个jQuery应用程序。我用jquery选择了一个dropdownbox。如何获得jQuery的onclick事件选择drodpown listbox?

$(function() { 
     $(".limitedNumbSelect").chosen(); 
    }); 

这是我从数据库中下拉和绑定的值。

<b>Awarded To:</b>&nbsp;&nbsp;<asp:ListBox ID="ddlvendorss" runat="server" SelectionMode="Multiple" class="limitedNumbSelect"></asp:ListBox> 

我想要获得上述下拉菜单的点击事件。只要我点击dropodwn,我想在加载任何选项之前触发警报。

$('#ddlvendorss').click(function (e) { 
      alert("I am going crazy"); 

     }); 

在下面的代码中,checkedValues数组包含一些值(存在于dropdownlistbox中的值)。只要我点击drodpown i ant来隐藏这些值。但下面的代码不起作用。

$(".chzn-select").chosen().on('chosen:showing_dropdown', function() { 
     $(".limitedNumbSelect option").each(function() { 
      var val = $(this).val(); 
      var display = checkedValues.indexOf(val) === -1; 
      $(this).toggle(display); 
      $('.limitedNumbSelect option[value=' + display + ']').hide(); 
      $(".limitedNumbSelect").find('option:contains(' + display + ')').remove().end().chosen(); 

     }); 
    }); 

上面的代码不起作用。我可以得到一些建议吗?任何帮助,将不胜感激。谢谢。

+0

选上隐藏了'select'因此,你实际上并没有点击的元素。 – Satpal

+0

其实我试图隐藏dropdownboxlist中的一些选项。我有一个GridView与复选框。只要我检查任何一行gridview对应的值在下拉我想隐藏。任何建议请。 –

+0

请用小提琴链接更新您的问题。谢谢 –

回答

1

选择隐藏select元素,因此您实际上没有单击该元素。然而,你可以使用chosen:showing_dropdown事件

$(".chzn-select").chosen().on('chosen:showing_dropdown', function() { 
    alert('No need to go crazy');; 
}); 

Fiddle

如果你想隐藏的选项,您可以使用

$(".chzn-select").chosen().on('chosen:showing_dropdown', function() { 
    //Find options and hide 
    $(this).find('option:lt(3)').hide(); 
    //Update chosen 
    $(this).chosen().trigger("chosen:updated"); 
}); 

Fiddle

由于每个操作的代码

$(".chzn-select").chosen().on('chosen:showing_dropdown', function() { 
    //Get all options 
    var options = $(this).find('option'); 

    //Show all 
    options.show(); 

    //Hide based on condtion 
    options.filter(function() { 
     return checkedValues.indexOf($(this).val()) === -1; 
    }); 

    //Update chosen 
    $(this).chosen().trigger("chosen:updated"); 
}); 
+0

谢谢。上述代码中的选择容器是什么? –

+0

谢谢你的帮助。我有一些疑问。遍历选项是否可行?我更新了我的代码。 –

+0

@NiranjanGodbole,你需要这个http://jsfiddle.net/satpalsingh/n39fcehh/1/ – Satpal

0

上,而不是使用上点击,使用上的变化例如为:

jQuery('#element select').on('change', (function() { 

      //your code here 

    }));