【问题标题】:jQuery focusout method not working within jquery TabsjQuery focusout 方法在 jquery 选项卡中不起作用
【发布时间】:2011-11-09 22:02:35
【问题描述】:

在 ascx(用户控件)中,我创建了一个选项卡部分,其中包含许多字段

<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 UI 选项卡中工作的指针。

提前致谢

【问题讨论】:

  • 改为 $("#person :input[type=text]").focusout(fieldUpdate);试试 $("#person input[type=text]").focusout(fieldUpdate);

标签: jquery asp.net jquery-ui webforms


【解决方案1】:

似乎主控件嵌套在 ajax 更新面板的一侧。结果,该面板阻止了代码触发更新。将 pageLoad() 函数添加到脚本的标题解决了这个问题。

function pageLoad(){
    $(function () {

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

    function fieldUpdate() {

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

        if (currentValue != "") {
            alert(field + ":" + currentValue);
        }
    }
}

【讨论】:

    猜你喜欢
    • 2018-04-29
    • 1970-01-01
    • 2012-02-19
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多