如何解决如何确保如果下拉菜单选择项是第一项,则不会发生任何事情
|| 当用户做出选择时,我有下面的代码打开一个弹出窗口。我要阻止的是用户在下拉菜单中选择第一项时,因为它没有实际价值。另外,我想允许用户通过再次单击下拉列表选项来重新选择已选择的选项。function OnClientSelectedIndexChanged(sender,eventArgs) {
var inputFieldValue;
var item = eventArgs.get_item();
grid = $find(\"<%= rggrid.ClientID %>\");
var selectedRows = grid.get_selectedItems();
if (selectedRows.length > 0) {
for (var i = 0; i < selectedRows.length; i++) {
var row = selectedRows[i];
inputField = MasterTable.getCellByColumnUniqueName(row,\"Item\")
if (inputField) {
inputFieldValue = inputField.value
break;
}
}
}
else {
var inputFieldID = window[\'textItembox\'];
inputField = document.getElementById(inputFieldID);
if (inputField) {
inputFieldValue = inputField.value;
}
}
window.radopen(\'<%=linker %>,\"UserDialog\");
return false;
}
解决方法
什么时候触发OnClientSelectedIndexChanged?
无论如何,这里是一个快速示例:
<asp:DropDownList ID=\"DropDownList1\" runat=\"server\">
<asp:ListItem Text=\"-1\" />
<asp:ListItem Text=\"1\" />
<asp:ListItem Text=\"2\" />
</asp:DropDownList>
<asp:Button ID=\"Button1\" runat=\"server\" Text=\"Select\" onclick=\"Button1_Click\" />
$(\'#<%=Button1.ClientID %>\').click(function () {
if ($(\'#<%=DropDownList1.ClientID %>\').val() == \"-1\")
return false;
alert($(\'#<%=DropDownList1.ClientID %>\').val());
});
,尝试
onclick = return(false);
在第一个区块上采取行动
mousedown = function(e){e.target.checked;}
要么
mousedown = function(e){e.target.parentNode.selectedIndex = e.target.index;}
能够再次选择您选择的选项
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。