首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在事件处理程序上运行jquery脚本

如何在事件处理程序上运行jquery脚本
EN

Stack Overflow用户
提问于 2020-01-30 04:57:27
回答 2查看 68关注 0票数 1

我想要运行jquery脚本--每个选择的changed

例如,我有这样的html

代码语言:javascript
运行
复制
<select name="typedata[]" data-long="long0" onchange="myFunction()">
     <option value="" label="default"></option>
     @foreach ($typeDatas as $typeData)
          <option value="{{ $typeData['nama'] }}">{{ $typeData['nama'] }}</option>
     @endforeach
</select>

剧本是这样的

代码语言:javascript
运行
复制
function myFunction(){
  console.log(jQuery(this).val())
}

更改select时jquery返回错误。

是否有一种在myFunction中运行jquery脚本的方法,因为如果im使用javascript而不是jquery它的工作。

我不能使用这样的jQuery(document).ready(function($),因为当用户单击某些button添加select form时添加了select

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-30 05:06:48

新的select元素没有事件处理程序,因为它是在呈现dom之后创建的。但是,您可以使用"on“处理程序绑定一个元素,不管它是否在DOM中呈现。希望这能有所帮助。

https://api.jquery.com/on/

代码语言:javascript
运行
复制
$('html #formID').on("change","select", function(){
   // do something...
})

此外,您还可以删除onchange="myFunction()"。:)

票数 1
EN

Stack Overflow用户

发布于 2020-01-30 05:00:38

对于jQuery样式,您可以执行如下操作:

代码语言:javascript
运行
复制
<select name="typedata[]" data-long="long0" class="class-name">
<option value="" label="default"></option>
 @foreach ($typeDatas as $typeData)
      <option value="{{ $typeData['nama'] }}">{{ $typeData['nama'] }}</option>
 @endforeach
</select>

然后:

代码语言:javascript
运行
复制
$('document').on('change', '.class-name', function(){
    console.log($(this).val());
});

这将事件change绑定到静态父元素document上的静态和动态元素.class-name

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59979335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档