Send multiple PHP variables to javascript function
I'm trying to send multiple php variables to javascript function and I don't know how to achieve that. Any suggestions?
HTML code:
<button class="btn btn-icon" type="button" data-toggle="modal" data-target="#modal-edit-category" data-toggle="tooltip"
onClick=(setSelectedCategoryId2({{$category->id}},{{ $category->name }})) >
<span class="btn-inner--icon"><i class="fa fa-edit"></i></span>
</button>
Javascript function:
function setSelectedCategoryId2(id,name){
alert(id, name)
}
Answer
Solution:
You mean this? Data-attributes are recommended over inline event handlers
document.querySelector("[data-toggle=modal]").addEventListener("click",function() {
console.log(this.dataset.cat,this.dataset.name)
})
<button class="btn btn-icon" type="button" data-toggle="modal" data-target="#modal-edit-category" data-toggle="tooltip"
data-cat="<?= $category->id ?>" data-name="<?= $category->name ?>">
<span class="btn-inner--icon"><i class="fa fa-edit"></i></span>
</button>
Answer
Solution:
Your HTML code needs to be placed in a PHP file, then
onClick=(setSelectedCategoryId2({{$category->id}},{{ $category->name }}))
becomes
onClick="setSelectedCategoryId2('<?php echo $category->id; ?>','<?php echo $category->name; ?>')"
Avoid using ' in your php vars and that's done :)
Source