脚本
$('#ListBox1 option').click(function () {
debugger;
$.ajax({
url: '/Service/AddEditService.aspx/GetPDF',
data: JSON.stringify({ "fileName": $(this).attr("value") }),
dataType: "json",
contentType: "application/json",
cache: false,
type: 'POST',
success: function (msg) {
window.open('../GeneratePDF.aspx?fileName=' + msg.d);
},
error: function (msg) {
alert("error");
}
});
});
调试器行永远不会在IE浏览器中出现,但在Chrome和Firefox中也是如此。
.ASPX
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ListBox ID="ListBox1" runat="server" ClientIDMode="Static"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
是否存在已知错误或其他内容?我似乎无法在网络上的任何地方找到答案。
答案 0 :(得分:1)
选择器似乎工作正常,可以看出:
$('#ListBox1 option').first().css('background-color', 'red');
相反,onclick不会触发选项。这可能是对ie的限制。您可以在列表框中添加onclick,但不能选择:
$('#ListBox1').click(function () {
alert('listbox');
});
示例:http://jsfiddle.net/25HeW/2/
如你所说,这适用于chrome,但不是ie。
更新: 如果您正在查找选择了哪个项目,可以使用以下内容
$('#ListBox1').click(function () {
var selected = this.options[this.selectedIndex]
var text = 'value: ' + selected.value + ' text: '+ selected.label;
alert(text);
});