这个问题是更大页面的一部分,但我已经简化了代码,以提供我正在谈论的简单示例。基本上我有一个ASP下拉列表,AutoPostBack =“true”,我想做一些javascript客户端,可以在必要时停止回发。但是,我不能让它停止回发。
<script type="text/javascript">
$(document).ready(function()
{
$("#ddl").bind('change', function() {
return false;
});
});
</script>
<select id="ddl" onchange="form.submit()">
<option value="">Item 1</option>
<option value="">Item 2</option>
<option value="">Item 3</option>
<option value="">Item 4</option>
<option value="">Item 5</option>
</select>
答案 0 :(得分:1)
这是我的解决方法(Firefox可以工作,IE 7/8有效):
$(function() {
var $select = $('#ddl'), tmp = $select.attr('onchange');
$select.attr('onchange', '');
$select.change(function() {
// If you want to postback:
tmp();
});
});
Simple删除HTML处理程序并将其放入变量中。然后你可以注册你的更改功能,如果你想调用自动回发功能,你可以。
答案 1 :(得分:0)
试试这个:
$(document).ready(function() {
$('#ddl').attr('onchange', '').change(function() {
if (0 !== +$(this).attr('selectedIndex')) {
this.form.submit();
}
return false;
});
});
答案 2 :(得分:0)
$("#ddl").change(function(e) {
e.preventDefault();
});
答案 3 :(得分:-2)
$("#ddl").change(function() {
// Do some javascript
return false;
});
此外,如果从select元素
中取出onChange属性,它可能会有所帮助