我想要运行jquery脚本--每个选择的changed。
例如,我有这样的html
<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>剧本是这样的
function myFunction(){
console.log(jQuery(this).val())
}更改select时jquery返回错误。
是否有一种在myFunction中运行jquery脚本的方法,因为如果im使用javascript而不是jquery它的工作。
我不能使用这样的jQuery(document).ready(function($),因为当用户单击某些button添加select form时添加了select。
发布于 2020-01-30 05:06:48
新的select元素没有事件处理程序,因为它是在呈现dom之后创建的。但是,您可以使用"on“处理程序绑定一个元素,不管它是否在DOM中呈现。希望这能有所帮助。
$('html #formID').on("change","select", function(){
// do something...
})此外,您还可以删除onchange="myFunction()"。:)
发布于 2020-01-30 05:00:38
对于jQuery样式,您可以执行如下操作:
<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>然后:
$('document').on('change', '.class-name', function(){
console.log($(this).val());
});这将事件change绑定到静态父元素document上的静态和动态元素.class-name。
https://stackoverflow.com/questions/59979335
复制相似问题