Метод фокусировки jQuery не работает во вкладках jquery - PullRequest
0 голосов
/ 10 ноября 2011

внутри ascx (usercontrol) У меня есть созданный раздел вкладок, который содержит несколько полей

<div id="divTabs" style="height:320px;">
<ul class="tabs">
    <li><a href="#person">Person</a></li>
    <li><a href="#vehicle">Vehicle</a></li>
    <li><a href="#property">Property</a></li>
    <li><a href="#location">Location</a></li>
    <li><a href="#event">Event</a></li>
    <li><a href="#queryfields">Query Fields</a></li>
    <div class="panelbuttons" id="btnadvClose"><img alt="Close Advanced Search" runat="server" src="~/images/closeButton.png"  /></div>
</ul>
<!-- tab "panes" -->
<div id="person">
<div class="searchdiv">
        <span class="smLabel">Last Name</span><br />
        <input type="text" name="LastName" value="" size="30" />
    </div>
    <div class="searchdiv">
        <span class="smLabel">First Name</span><br />
        <input type="text" name="FirstName" value="" size="30" />
    </div>
    <div class="searchdiv">
        <span class="smLabel">Middle Name</span><br />
        <input type="text" name="MiddleName" value="" size="12" />
    </div>

..., отредактированных для краткости

, что я хотел бы иметьполе ввода (обозначено далее в коде) обновляется значением, введенным в текстовое поле, и как только пользователь выходит из этого поля

. Для этого я использовал следующий код jQuery

    function fieldUpdate() {

    var currentValue = $(this).val();
    var field = $(this).attr("name");

    if (currentValue != "") {
        $("#tbsearchterm").append(field + ":" + currentValue + "+");
    }
}

    //person
$(function () {
    //only evaluate input text field
    $("#person :input[type=text]").focusout(fieldUpdate);
});

Я изначально построил это на тестовой странице без вкладок, и приведенный выше код работает нормально.Однако, когда я добавляю код в UiTabs, я ничего не получаю.Я даже попытался добавить просто предупреждение, чтобы посмотреть, смогу ли я запустить событие focusout, но ничего.

Буду признателен за любые указания на то, что мне нужно сделать по-другому, чтобы заставить это работать на вкладках пользовательского интерфейса jQuery.

заранее спасибо

1 Ответ

0 голосов
/ 10 ноября 2011

Похоже, что основной элемент управления был вложен в боковую панель обновления ajax. В результате эта панель препятствовала запуску обновления кода. Добавление функции pageLoad () в заголовок скрипта решило эту проблему.

function pageLoad(){
    $(function () {

    $(function () {
        $("#divTabs").tabs();
    });

    function fieldUpdate() {

        var currentValue = $(this).val();
        var field = $(this).attr("name");

        if (currentValue != "") {
            alert(field + ":" + currentValue);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...