gpt4 book ai didi

javascript - 从 JavaScript 向 PHP 函数发送参数

转载 作者:行者123 更新时间:2023-12-03 08:36:09 24 4
gpt4 key购买 nike

我有一个这样的 PHP 脚本:

<?php
$menuItemList = getSubPkgCategForDDList(echo "<script>showSubCatForMenuItem();</script>");
if(isset($menuItemList)){
foreach($menuItemList as $u){
?>
<p><span contenteditable="true"><?php echo $u->name ?></span><button type="button" class="btn btn-danger btn-xs" onclick="deleteCategory(<?php echo $u->pkg_cat_ddlist_id ?>)">Delete</button>
<button type="button" class="btn btn-success btn-xs" onclick="editCategory(<?php echo $u->pkg_cat_ddlist_id ?>,<?php echo "'".$u->name."'" ?>)">Save</button></p>
<?php
}
}
?>

函数getSubPkgCategForDDList必须生成html代码,因此它取决于发送给该函数的参数。我从这样的 js 函数 showSubCatForMenuItem() 中获取此参数:

function showSubCatForMenuItem(){
console.log($('#menuItem').val());
return $('#menuItem').val();
}

此函数从此类下拉列表中获取数据:

<select id="menuItem" onchange="showSubCatForMenuItem()">
<?php
$itemList = getPackCategoriesForAsideMenu();
if(isset($itemList)){
foreach($itemList as $u){
?>
<option value="<?php echo $u->pkg_cat_ddlist_id ?>"><?php echo $u->name ?></option>
<?php
}
}
?>
</select>

当我加载页面并从下拉列表中选择项目时,如何正确传输参数?对不起我的英语。

最佳答案

在这种情况下,您应该利用$_SESSION。现在打印下拉列表:

<select id="menuItem">
<?php
$itemList = getPackCategoriesForAsideMenu();
if(isset($itemList)){
foreach($itemList as $u){
echo'<option value="'.$u->pkg_cat_ddlist_id.'">'.$u->name.'</option>';
}
}
?>
</select>

编写JS脚本:

$("#menuItem").live('change',function(){
var val = $(this).val();
$.post('change.php',{data:val},function(){
// Do some
});
});

并创建一个名为 change.php 的 php 文件:

<?php
session_start();
if(!empty($_POST['data'])){
$_SESSION['menu_sltd'] = (int) $_POST['data']; // It makes sure that the data sent is integer / number
}
?>

现在,将主脚本更改为:

<?php
session_start();
$menu_sltd = (!empty($_SESSION['menu_sltd']) ? $_SESSION['menu_sltd'] : 'default id'); // Default id is the default menu id if it's blank
$menuItemList = getSubPkgCategForDDList($_SESSION['menu_sltd']);
if(isset($menuItemList)){
foreach($menuItemList as $u){
echo'
<p>
<span contenteditable="true">'.$u->name.'</span>
<button type="button" class="btn btn-danger btn-xs" onclick="deleteCategory('.$u->pkg_cat_ddlist_id.')">Delete</button>
<button type="button" class="btn btn-success btn-xs" onclick="editCategory('.$u->pkg_cat_ddlist_id.',\''.$u->name.'\')">Save</button>
</p>';
}
}
?>

祝你好运,很高兴为你提供帮助。不要放弃

关于javascript - 从 JavaScript 向 PHP 函数发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33213461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com