jQuery:当绑定/单击事件针对类时引用调用对象(this)

2024-01-12

感谢您阅读本文。

我正在动态生成一些数据,其中包括一个选择下拉列表,旁边有一个文本框。如果用户单击选择,我将动态填充它(代码如下)。我有一个关于选择的课程,我希望下面的代码能够工作。我在选择上使用 ID 进行了测试,并将 ONE 放在 ID 上,我让它工作。但是,在更改代码以引用类时(因为将有多个数据组,其中包含一个旁边带有文本框的选择)并且$(this),我无法让它工作。任何想法都会有帮助。谢谢

选择旁边的文本框的相关性是代码的第二部分...在选择中选择选项时更新文本框

.one所以选择只更新一次,然后.bind允许将选定的任何选项放置在相邻的文本框中。

$('.classSelect').one("click",
 function() {
  $.ajax({
   type: "post",
   url: myURL ,
   dataType: "text",
   data: {
    '_service' : myService,
    '_program' : myProgram ,
    'param' : myParams
   },
   success:
    function(request) {
     $(this).html(request);   // populate select box
   }    // End success
  }); // End ajax method

  $(this).bind("click",
   function() {
    $(this).next().val($(this).val());
  }); // End BIND
 }); // End One

 <select id="mySelect" class="classSelect"></select>
 <input type="text">

$(this)仅在功能范围内相关。但在函数之外,它会丢失该引用:

$('.classSelect').one("click", function() {
   $(this); // refers to $('.classSelect')

   $.ajax({
   // content
      $(this); // does not refer to $('.classSelect')
   });
});

处理这个问题的更好方法可能是:

$('.classSelect').one("click", function() {
    var e = $(this);

    $.ajax({
    ...
        success : function(request) {
          e.html(request);
        }
    }); // end ajax

    $(this).bind('click', function() {
    // bind stuff

    }); // end bind

}); // end one

顺便问一下,你熟悉吗load() http://docs.jquery.com/Ajax/load方法?我发现基本的ajax更容易(因为它作用于包装集,而不是像这样的独立函数$.ajax()。这是我将如何重写它使用load():

$('.classSelect').one('click', function() {
    var options = {
       type : 'post',
       dataType : 'text',
       data : {
         '_service' : myService,
         '_program' : myProgram ,
         'param' : myParams
       }           
    } // end options

    // load() will automatically load your .classSelect with the results
    $(this).load(myUrl, options);


    $(this).click(function() {
    // etc...

    }); // end click

}); // end one
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery:当绑定/单击事件针对类时引用调用对象(this) 的相关文章

  • 在 jQuery 中获取 Json 数据

    没有一个清晰的示例解释如何尽可能简单地拉取 json 数据 我有一个有效的 json 我需要使用 jQuery 检索它 我的 json 输出如下 title blog entries items title Can Members of t
  • Chart.js - 如何将数组集合推入数据集

    我一直在尝试多种方法将数组集合推送到数据集中 任何人都可以帮助我根据下面的代码将数组推入堆积图表中 这是例子 Codepen 堆叠栏 https codepen io narendrajadhav pen abzpWam JavaScrip
  • 如何更改点击事件上的引导插入符指向方向

    我正在使用 2 3 2 引导程序 因为当我单击菜单按钮时 我可以更改插入符号图标的位置 我需要当我单击图标插入符号向上时 当您单击另一个项目时 插入符号返回到初始状态 这怎么可能 导航代码 div div class container d
  • 如何获得相对于特定父级的偏移量?

    我想获取元素相对于的偏移量特定的父母不是直接的 也不是文档 我在互联网上查找并找到了offset http api jquery com offset and position http api jquery com position jQ
  • 将其作为参数传递给 addEventListener()

    我想添加change一组复选框的事件 我如何访问this在我的事件函数中 这样当我执行事件时我可以访问复选框的值 这是我当前的代码 var checkboxes document getElementsByClassName cb Arra
  • 按日期对 JSON 进行排序

    我知道这一定相对简单 但我有一个 JSON 数据集 我想按日期排序 到目前为止 我每次都会遇到问题 现在我将日期存储为this lastUpdated 如果有帮助的话 我可以访问 jquery 但我意识到 sort 是本机 JS 提前致谢
  • 使用 Javascript 对象模型在 SharePoint 任务上设置“分配给”

    我想创建一个共享点任务并将其分配给我自己 当前用户 在 javascript 对象模型中 我有下面的代码 但我认为我需要设置 spusercollection 对象 而不是设置特定用户 但是 我似乎无法在任何地方找到如何执行此操作的任何示例
  • 内联执行生成的汇编程序

    我正在阅读以下演示文稿 http wingolog org pub qc 2012 js slides pdf http wingolog org pub qc 2012 js slides pdf其中讨论了 4 10 19 内联 ASM
  • 如何防止默认事件触发但仍允许事件冒泡

    使用 jQuery 使用以下代码 我想防止 href url 在本例中为哈希 在单击时触发 但仍然允许单击事件继续在链上冒泡 请问如何实现这一点 div a href Test a div a click function e stop a
  • 我什么时候应该使用内联和外部 Javascript?

    我想知道什么时候应该包含外部脚本或将它们与 html 代码内联编写 就性能和易于维护而言 这方面的一般做法是什么 真实场景 我有几个需要客户端表单验证的 html 页面 为此 我使用了一个包含在所有这些页面上的 jQuery 插件 但问题是
  • 使用 jquery 删除空

    我有像上面这样的代码 ul li a href Default aspx Menu a ul li a href Content aspx ID 153 SubMenu a li ul li ul
  • jQuery Masonry 和 CSS3

    如何在保持砖石布局的同时将 CSS3 过渡与当前图像结合起来 这是我的html div img class bottom src images div
  • 如何使用 JavaScript 播放任意 MIDI 音符?

    澄清一下 我不想生成 MIDI 文件 也不想播放 MIDI 文件 我希望即时播放 MIDI 音符 我尝试使用https github com mudcube MIDI js https github com mudcube MIDI js作
  • 单击时突出显示文本(javascript jquery html)

    当您在所有浏览器中双击某个单词时 它们会自动突出显示单击下的单词 但是否有可能找到一种方法exact单击一下就会发生同样的事情吗 我想这涉及到的事情可能是 TextRange 的东西 对所有段落 或整个正文或 div 的 onclick 做
  • 调用不带括号的 javascript 函数

    以下 renderChat 函数用于将消息和图像渲染到聊天板上 该函数内部还有另一个函数 var onComplete function 它完成创建列表元素并将其附加到聊天列表的所有工作 onComplete函数之后就只有这三行代码 img
  • .parents() 没有 jquery - 或 querySelectorAll 为父母[重复]

    这个问题在这里已经有答案了 可能的重复 使用 matchesSelector js 检查 event target parentElement https stackoverflow com questions 12977658 check
  • jQuery Draggable:可拖动框越过容器 - bug?

    Try this http jsfiddle net QhVNr code HTML div class draggable container div class draggable div class exp div div div C
  • 在 Sublime Text 下获取完整的 JS 自动补全

    我刚刚在 Windows Vista 下安装了 Sublime Text 甚至遵循了中给出的建议这个帖子 https stackoverflow com questions 10636410 modifying sublime text 2
  • python 函数返回 javascript date.getTime()

    我正在尝试创建一个简单的 python 函数 它将返回与 javascript 相同的值new Date getTime 方法 如所写here http www w3schools com js js dates asp javascrip
  • 调试客户端时使用 Chrome/Firefox

    我正在使用带有 getUserMedia 的相机 但出现了一些需要修复的错误 问题是 Visual Studio 只允许我使用 IE 调试 JavaScript 我的意思是命中断点 而 IE 不支持 getUserMedia 如果您想在 I

随机推荐

  • unregisterForRemoteNotifications 仍然在“设置”中显示“允许通知”

    我正在创建一个设置页面 允许用户打开和关闭推送通知 这是我的问题 如果用户在初始系统提示时允许推送通知 然后改变主意并将 UISwitch 设置为 否 则我的关闭开关操作为 UIApplication共享应用程序 unregisterFor
  • ListFragment / CursorAdapter 显示为空(无数据)

    我无法让列表视图显示我的数据 它只显示空 无数据文本视图 我已经尝试解决这个问题有一段时间了 搜索了 stackoverflow 和网络 尝试了很多不同的事情 Logcat 显示我的 newView bindView 没有被调用 到达 我认
  • 如何在Python中显示列表元素的索引? [复制]

    这个问题在这里已经有答案了 我有以下代码 hey lol hey water pepsi jam for item in hey print item 我是否在项目之前显示列表中的位置 如下所示 1 lol 2 hey 3 water 4
  • 自动完成文本视图设置错误

    密码字段是AutoCompleteTextView我正在尝试做setError当它为空时 但我不想显示这个红色感叹号 我该怎么做 附 在此之上的字段 也是AutoCompleteTextView mailview 但是当我这样做时setEr
  • notepad++正则表达式如何从此列表中提取userId

    我有下面这个列表 originalscrape scrapeDate userId username full name is private follower count following count media count biogr
  • 标签栏按钮全灰

    我正在尝试创建一个选项卡栏控制器 但上次我是使用 iOS 6 1 进行的 但是现在 当我将选项卡栏控制器放在情节提要上时 它不会显示按钮 并且我尝试对背景和文本进行的任何修改都不会出现 有人知道我该如何修复它吗 下面是所描述问题的图像 Th
  • 向量化矩阵各行的运算

    我想矢量化 apply a which矩阵运算X如下图所示for循环的结果是向量ind X matrix 1 20 4 5 V sample 1 20 4 ind numeric for i in 1 nrow X ind i max c
  • 从行和列计算的问题(将两列与不同行的第三列相加)

    参考我之前的问题添加 GROUP BY 子句产生的列 https stackoverflow com questions 13892128 adding columns resulting from group by clause 1389
  • 将 Pentaho 社区版与 SQL Server 2005 结合使用

    我已经尝试了很多次将Pentaho CE连接到SQL Server 2005中的数据库但没有成功 我首先在安装了 Pentaho CE 的 Ubuntu 上执行此操作 似乎无法连接到 SQL Server 然后我在与 SQL Server
  • 如何获取django中涉及多对多关系的对象列表

    我有以下型号 class Committee models Model customer models ForeignKey Customer related name committees name models CharField ma
  • ASP.NET + GridView + 空数据模板

    我有一个使用 EmptyDataTemplate 的 ASP NET GridView 该模板用于在我的数据源中不存在记录的情况下收集数据 我的 GridView 源代码如下所示
  • .vscode-server 文件夹占用大量空间

    我正在使用 VScode 进行 Web 开发 并注意到 vscode server在我的用户文件夹中占用了大量空间 数百MB 我尝试删除它并重新打开 VSCode 并连接到服务器 该文件夹又回来了并且仍然很大 有什么办法可以阻止这种情况发生
  • 将弹性项目固定到容器的底部

    我有 4 个带有标题 描述和按钮的块 我希望标题和描述保持在顶部对齐 按钮保持在底部对齐 无论描述或标题有多长 我还需要保持相同的 HTML 结构 我实际需要的示例图片 有人能弄清楚吗 到目前为止我还没有在互联网上找到修复方法 FLEXBO
  • Angular 2 RC.5 无法绑定到“formGroup”,因为它不是“form”的已知属性[重复]

    这个问题在这里已经有答案了 我有一个错误 Can t bind to formGroup since it isn t a known property of form 将项目更新为 angular2 RC 5 后 应用程序模块 ts Ng
  • 如何以django形式显示依赖的下拉菜单

    在这里 在从模板添加学生费用信息时 如果用户选择某些课程 则只有该所选课程的 basic price 和 advance price 应显示在选择费用选项中 我该如何实现这一点 学生费用 html div class form group
  • .Net C#中参考Web.Config的测试方法

    我进行了很多搜索 但仍然找不到解决此问题的可靠解决方案 假设您的应用程序中有方法 此方法使用 System Web Configuration WebConfigurationManager OpenWebConfiguration 来访问
  • 如何将 Pandas 中的列转换为行?

    我有这样的事情 Values Time 22 0 45 1 65 2 78 0 12 1 45 2 我想要这个 Time 0 1 2 Val1 22 45 65 Val2 78 12 45 我该怎么做 This is pivot创建索引cu
  • 如何在 REST API 查询上添加过滤器以查看 QnAmaker 的答案?

    我在聊天机器人中使用以下代码 使用 v4 azure MS 机器人框架 来查询问题和答案 客户端代码 使用纯 JavaScript 和 J Query function generateAnswer var question questio
  • 带有 Flex4 设置的复杂 Maven2

    我一直在努力让 Maven2 与我合作 并且想知道是否有人对如何使其工作有任何想法 我正在开发一个 Flash 项目 我们正在考虑从我们的混合 Flex4 切换FlashCS4 到纯粹的 Flex4 解决方案 我们希望使用 Maven2 构
  • jQuery:当绑定/单击事件针对类时引用调用对象(this)

    感谢您阅读本文 我正在动态生成一些数据 其中包括一个选择下拉列表 旁边有一个文本框 如果用户单击选择 我将动态填充它 代码如下 我有一个关于选择的课程 我希望下面的代码能够工作 我在选择上使用 ID 进行了测试 并将 ONE 放在 ID 上