jQuery:选择下拉列表上的onclick事件的自定义函数

时间:2015-11-10 13:53:00

标签: jquery html jquery-ui select onclick

寻找将自定义onlick事件附加到选择下拉列表的方法。通过单击任一选项,应调用自定义函数。

我的代码包含以下HTML:

<select name="database" id="database">
    <option disabled selected> -- select an option -- </option>
    <option>MySQL database format</option>
    <option>PostgreSQL database format</option>
    <option>Oracle database format</option>
    <option>Other format</option>
</select>

基于另一个问题(Trying to get a jQuery event to Fire onClick on a select/option form)我创建了这个JS + jQuery + jQueryUI代码:

$("#database").selectmenu();
$("#database").change(function() {
    alert("A1");
});

https://jsfiddle.net/1ba470wL/5/

有什么问题而且没有调用函数,问题出在哪里?

5 个答案:

答案 0 :(得分:2)

解决方案是将change事件更改为selectmenuchange,这是由jQueryUI处理事件引起的。

$("#database").selectmenu();
$("#database").on("selectmenuchange",function() {
    alert("A1");
});

答案 1 :(得分:0)

$("#database").selectmenu();未定义

https://jsfiddle.net/1ba470wL/2/

答案 2 :(得分:0)

我不确定你想要实现的目标......

$("#database").on("click", function() {
    console.log("custom function");
});

因为你错过了一个外部图书馆(你通过selectmenu()打电话的那个),你的小提琴就被打破了。

答案 3 :(得分:0)

使用您示例中的html:

$("#database").on("change", function(){
//Code here
});

答案 4 :(得分:0)

不确定您要做什么。

$("#database").on('change', function() {
	var selected_value = $(this).val();
    alert(selected_value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<select name="database" id="database">
    <option disabled selected> -- select an option -- </option>
    <option value="mysql">MySQL database format</option>
    <option value="postgreSQL">PostgreSQL database format</option>
    <option value="oracle">Oracle database format</option>
    <option value="Other">Other format</option>
</select>