以下调用函数在更改选择菜单的选项后不会提示选项值:
不提醒:
<script type="text/javascript">
jQuery(document).ready(function($){
$(".selectmenu").scrollectBox({
preset: 'dropdown',
numVisibleOptions: 4,
scrollInterval: 150,
scrollOn: 'hover',
listWidth: 160,
onSelectEvent: null
}).change(function() {
var optionvalue = $("select.selectmenu").val();
alert('Selected value ' + optionvalue);
});
});
</script>
但以下更改功能独立发出警告
提醒:
<script type="text/javascript">
jQuery(document).ready(function($){
$(".selectmenu").change(function() {
var optionvalue = $("select.selectmenu").val();
alert('Selected value ' + optionvalue);
});
});
</script>
<select onchange="" name="selectmenu" id="translator" class="selectmenu" >
<option value="Select Language">Select The Language</option>
<option value="en|af">Afrikaans</option>
<option value="en|sq">Albanian</option>
</select>
如何从第一段代码中获取警报?请注意,第一个代码块中的onSelectEvent:
是用于选项更改的自定义触发事件。
感谢,
答案 0 :(得分:3)
您的第一个代码不会alert
,因为您要将change
事件分配给document
而不是下拉。
编辑:评论回复
插件有以下两个option
使用它。
onSelectEvent
用于处理选项选择的自定义事件处理程序。该功能可以采用两个参数;单击对象(选项内的链接)和点击事件,例如:
var customSelectHandler = function($obj, event){...};
。默认值为null。
onSelectFunc
将从默认处理程序(开头)中调用的函数。该功能可以采用两个参数;单击对象(选项内的链接)和点击事件,例如:
var extraFunc = function($obj, event){...};
。默认值为null。
答案 1 :(得分:2)
试试这个:
jQuery(document).ready(function($){
$(".selectmenu").scrollectBox({
preset: 'dropdown',
numVisibleOptions: 4,
scrollInterval: 150,
scrollOn: 'hover',
listWidth: 160,
onSelectEvent: null
}).change(function() { //<-------------------------------try it here.
var optionvalue = $("option:selected", this).val();
alert('Selected value ' + optionvalue);
});
});
答案 2 :(得分:2)
您希望将事件附加到选择框而不是文档。
jQuery(document).ready(function($){
$(".selectmenu").scrollectBox({
// ...
}).change(function() {
var optionvalue = $("select.selectmenu").val();
alert('Selected value ' + optionvalue);
});;
})
jQuery&#39;流利&#39;语法总是返回您正在使用的对象,因此您可以将方法链接在同一个选择器上。
您还没有获得所选选项的值,正如Jai所建议的那样:
var optionvalue = $("option:selected", this).val();
答案 3 :(得分:1)
您的第一个代码应该是这样的:
<script type="text/javascript">
jQuery(document).ready(function($){
$(".selectmenu").scrollectBox({
preset: 'dropdown',
numVisibleOptions: 4,
scrollInterval: 150,
scrollOn: 'hover',
listWidth: 160,
onSelectEvent: null
});
$(".selectmenu").change(function() {
var optionvalue = $("select.selectmenu").val();
alert('Selected value ' + optionvalue);
});
});
</script>
------------------------- EDITED --------------------- -----------
脚本:
<script>
$(document).ready(function () {
var selectEvent = function($el){
alert("You chose " + $el.html());
return false;
};
$(".selectmenu").scrollectBox({
preset: 'select',
numVisibleOptions: 3,
scrollOn: 'scroll',
debug: true,
onSelectEvent: selectEvent
});
});
</script>
HTML:
<select name="selectmenu" class="selectmenu" >
<option>Select The Language</option>
<option value="en|af">Afrikaans</option>
<option value="en|sq">Albanian</option>
</select>
PS:在localhost上测试:)
它不起作用,因为您对文档更改有警报而不是在选择菜单中更改;)
Saludos。
答案 4 :(得分:0)
你有一个额外的})
右括号
$(".selectmenu").scrollectBox({
preset: 'dropdown',
numVisibleOptions: 4,
scrollInterval: 150,
scrollOn: 'hover',
listWidth: 160,
onSelectEvent: null
});
}).change(function() {
//^here..
var optionvalue = $("select.selectmenu").val();
alert('Selected value ' + optionvalue);
});
应该是
$(".selectmenu").scrollectBox({
preset: 'dropdown',
numVisibleOptions: 4,
scrollInterval: 150,
scrollOn: 'hover',
listWidth: 160,
onSelectEvent: null
}).change(function() {....