Как вызвать JQuery из-за пределов блока JQuery - PullRequest
2 голосов
/ 11 сентября 2009

Хорошо, вопрос не имеет смысла. Здесь ситуация. У меня есть устаревший код, использующий ajax «Anthem», и Anthem позволяет подключиться к этапам обратного и обратного вызова. Поэтому, если у меня есть такой код, как мне выполнить код в блоке .each в cmdSave_PostCallBack. Я знаю, что не могу назвать это так, как есть, но каким образом этот блок будет выполняться при загрузке документа, а также в функции postcallback?

 jQuery(document).ready(function() {
    //select all anchors in divMain element and attach click handler
    $("#<%=divSelectorLinks.ClientID %> a").click(function(e) {
        e.preventDefault();
        var content = $(this.getAttribute("rel"));
        //attach nyromodal
        $.nyroModalManual({
            bgColor: '#efefef',
            width: 200,
            content: content
        })
    })
    //display currently selected value
    .each(function(i) {
        var selectionText = $(this.getAttribute("rel")).find(':selected')[0].innerHTML;
        if (selectionText.substr(0, 4) == "All ") {
            this.innerHTML += ": All";
        }
        else {
            this.innerHTML = this.innerHTML + ": " + selectionText;
        }
    });
    return false;
});

function cmdSave_PostCallBack() {

}

Ответы [ 2 ]

1 голос
/ 11 сентября 2009

Создайте еще одну функцию (назовем ее ослом) и используйте ее в каждом:

(извините, форматирование немного запутано)

...
.each(donkey);

function cmdSave_PostCallBack() {
    donkey(1);
}

function donkey(i) {
    var selectionText = $(this.getAttribute("rel")).find(':selected')[0].innerHTML;
    if (selectionText.substr(0, 4) == "All ") {
        this.innerHTML += ": All";
    }
    else {
        this.innerHTML = this.innerHTML + ": " + selectionText;
    }
    });
return false;
}
0 голосов
/ 11 сентября 2009

Было бы так же просто, как скопировать .each в его собственную функцию и вызвать ее как из готовности, так и из cmdSave_PostCallBack?

Что-то вроде:

jQuery(document).ready(function() {
    //select all anchors in divMain element and attach click handler
    $("#<%=divSelectorLinks.ClientID %> a").click(function(e) {
        e.preventDefault();
        var content = $(this.getAttribute("rel"));
        //attach nyromodal
        $.nyroModalManual({
            bgColor: '#efefef',
            width: 200,
            content: content
        })
    });
    displayCurrentlySelectedValues();
    return false;
});

function cmdSave_PostCallBack() {
    displayCurrentlySelectedValues();
}

function displayCurrentlySelectedValues() {
    //Note how this uses the same selector as in .ready
    $("#<%=divSelectorLinks.ClientID %> a")
    .each(function(i) {
        var selectionText = $(this.getAttribute("rel")).find(':selected')[0].innerHTML;
        if (selectionText.substr(0, 4) == "All ") {
            this.innerHTML += ": All";
        }
        else {
            this.innerHTML = this.innerHTML + ": " + selectionText;
        }
    });
    return false;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...