kombiniert Ich habe eine asp.net codebehind Seite, die mehrere Checkboxes zu Javascript Methoden verbindet. Ich möchte nur eine Javascript-Methode machen, um alle zu behandeln, da sie die gleiche Logik sind, wie würde ich das tun?Wie man ähnliche Javascriptmethoden zu einem
Code hinter Seite zu laden:
checkBoxShowPrices.Attributes.Add("onclick", "return checkBoxShowPrices_click(event);");
checkBoxShowInventory.Attributes.Add("onclick", "return checkBoxShowInventory_click(event);");
aspx Seite Javascript; offensichtlich sie alle das gleiche tun für die ihnen zugewiesenen Kontrollkästchen, aber ich bin dieses Denken kann ein Verfahren reduziert werden:
function checkBoxShowPrices_click(e)
{
if (_hasChanged)
{
confirm('All changes will be lost. Do you wish to continue?', function(arg)
{
if (arg.toUpperCase() == 'YES')
{
var checkBox = document.getElementById('<%=checkBoxShowPrices.UniqueID%
>');
checkBox.checked = !checkBox.checked;
eval("<%=base.GetPostBackEventReference(checkBoxShowPrices)%>");
_hasChanged = false;
}
});
return false;
}
else
{
eval("<%=base.GetPostBackEventReference(checkBoxShowPrices)%>");
}
}
function checkBoxShowInventory_click(e)
{
if (_hasChanged)
{
confirm('All changes will be lost. Do you wish to continue?', function(arg)
{
if (arg.toUpperCase() == 'YES')
{
var checkBox = document.getElementById('<%
=checkBoxShowInventory.UniqueID%>');
checkBox.checked = !checkBox.checked;
eval("<%=base.GetPostBackEventReference(checkBoxShowInventory)%>");
_hasChanged = false;
}
});
return false;
}
else
{
eval("<%=base.GetPostBackEventReference(checkBoxShowInventory)%>");
}
}
Könnten Sie den Code zu weniger newliney bearbeiten? – Macke