FEST
FEST

Reputation: 883

ASP.NET 3.5 AJAX Control ToolKit PopupControlExtender

I'm trying to generalize the .add_hiding for PopupControlExtender by passing some arguments, but for some reason its not working.

function onPageLoad() {
            var modalPopup = $find('txbCliente_PopupControlExtender');
            modalPopup.add_hiding(onHidingPopUp('cblCliente','txbCliente'));
        }
        function onHidingPopUp(cblId, txbID) {
            var cbl = document.getElementById(cblId);
            var optionsIds = cbl.getElementsByTagName('input');
            var optionsLabels = cbl.getElementsByTagName('label');
            var varios = false;
            var txb = document.getElementById(txbID);
            var text = "";

            for (var i = 0; i < optionsIds.length; i++) {
                if (optionsIds[i].checked && varios) {
                    text = "Mútiplos Valores.";
                    break;
                }
                else if (optionsIds[i].checked && !varios) {
                    varios = true;
                    text = optionsLabels[i].textContent;
                }
            }

            txb.value = text;
        }

Upvotes: 0

Views: 142

Answers (1)

Artem Amirbekov
Artem Amirbekov

Reputation: 109

You pass a result of calling onHidingPopUp('cblCliente','txbCliente'), not the function itself to the add_hiding method. If you want to pass predefined arguments to the function, wrap it in another function:

modalPopup.add_hiding(function() {
    onHidingPopUp('cblCliente','txbCliente')
});

If you only had one parameter, you could also use the MS Ajax Function.createCallback extension:

modalPopup.add_hiding(Function.createCallback(onHidingPopUp, 'cblCliente'));

Upvotes: 1

Related Questions