我有一个选择,用户可以选择多项选择:
<select id="mybundle_evenement_name" class="form-control" name="mybundle_evenement[name][]" required="required" multiple="multiple" >
<option value="1">name1</option>
<option value="2">name2</option>
//...
</select>
以Symfony的形式生成。
当用户在选择中选择一个选项时,我想要一个事件。
所以我试过了:
<script type="text/javascript">
$(function () {
var $zone = $('#mybundle_evenement_name');
$zone.onclick(function () {
alert('test');
});
});
</script>
<script type="text/javascript">
var $zone = $('#mybundle_evenement_name');
$zone.onclick(function () {
alert('test');
});
</script>
我也尝试使用onchange()
代替onclick()
。
没有任何事情发生......
答案 0 :(得分:3)
在文档ready
函数中注册事件处理程序。它是在页面加载后调用的。此外,您在事件处理函数名称中有错误,请在不使用on
的情况下使用它:.change(
,.click(
。
$(document).ready(function() {
$('#mybundle_evenement_name').change(function() {
alert('test');
});
});
答案 1 :(得分:1)
尝试在HTML中选择一个onchange
行为,如下所示:
<select id="mybundle_evenement_name" class="form-control" name="mybundle_evenement[name][]" required="required" multiple="multiple" onchange="alertMe()" >
<option value="1">name1</option>
<option value="2">name2</option>
//...
</select>
然后:
<script>
function alertMe(){
alert('test');
}
</script>
另外,请确保在所有脚本之前包含jQuery,并且不指定type="text/javascript"
,因为它没有必要,我不完全确定,但它实际上可能是您的问题的根源。
实际上,之前的所有内容都可以缩短为:
<select id="mybundle_evenement_name" class="form-control" name="mybundle_evenement[name][]" required="required" multiple="multiple" onchange="alert('test');" >
<option value="1">name1</option>
<option value="2">name2</option>
//...
</select>
它确实有效。
答案 2 :(得分:1)
您的change
事件应该在jquery中包含全局function
。
$(function(){
$('#mybundle_evenement_name').change(function(){
alert("you selected : "+this.value);
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mybundle_evenement_name" class="form-control" name="mybundle_evenement[name][]" required="required" multiple="multiple" >
<option value="1">name1</option>
<option value="2">name2</option>
</select>
答案 3 :(得分:1)
请参阅:https://api.jquery.com/change/
应该改变,而不是onChange。所以你的代码应该是:
$(function(){
$('#mybundle_evenement_name').change(function(){
alert('test');
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mybundle_evenement_name" class="form-control" name="mybundle_evenement[name][]" required="required" multiple="multiple" >
<option value="1">name1</option>
<option value="2">name2</option>
</select>
答案 4 :(得分:0)
答案 5 :(得分:0)
$(document).on("change", "#mybundle_evenement_name", function () {
//...
});
完成了这项工作。不知道为什么其他解决方案不起作用......
答案 6 :(得分:0)
$(document).ready(function(){
$("#mybundle_evenement_name").change(function(){
$(this).html(alert('test'+ this.value));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mybundle_evenement_name" class="form-control" name="mybundle_evenement[name][]" required="required" multiple="multiple" >
<option value="1">name1</option>
<option value="2">name2</option>
//...
</select>