【发布时间】:2025-12-29 23:40:12
【问题描述】:
我有一块 jQuery 附加到 asp.net 网络表单前端(表单的输入控件用标准的 asp.net AJAX 面板包装),它有一个三个下拉列表,其中有一个附上 jQuery:
$(document).ready(function () {
jQuery("select").change(function () {
alert("Hi");
return false;
});
});
下拉列表有一个由 ASP.NET 附加的服务器端更改事件,正如您所期望的那样:
<select name="ctl00$leftContent$cmbPressureUnitsPo" tabindex="6" class="unit" id="cmbPressureUnitsPo" onchange="javascript:setTimeout('__doPostBack(\'ctl00$leftContent$cmbPressureUnitsPo\',\'\')', 0)">
<option value="1">kPag</option>
<option value="1000">Pag (N/m²)</option>
<option selected="selected" value="0.001">MPag</option>
<option value="0.14504">PSIg</option>
<option value="10">mBarg</option>
<option value="0.01">Barg</option>
<option value="0.010197">kgf/cm²</option>
<option value="0.010197">atg</option>
<option value="0.0098692">atmg</option>
<option value="7.5001">torrg (mmHg)</option>
<option value="101.97">mmH₂O</option>
<option value="0.29528">inHg</option>
</select>
唯一的问题是 return false 不会像我期望的那样抑制服务器端事件!如果我实现了一个返回 false 的普通 javascript 函数,那么我错过了什么?
我也试过 event.PreventDefault 没有效果!
【问题讨论】: