根据选择选项更改 php 变量值

因此,我非常感谢您在尝试找出如何根据用户的选择更改某些 PHP 变量而不提交按钮的帮助。我真的不太了解jquery,这是一个问题,但基本上这就是我需要做的。


我不需要更改内容或布局,只需更改将用于发出 API get 请求的 PHP 值。我已经根据其他答案尝试了一些方法,但似乎都与我需要的有点不同,或者我只是没有得到正确的结果。这是我的代码。


超文本标记语言


   <form class="choose-item" action="" method="post">

      <select id="select-item" name="my-select">

        <option value="item-1"><?php echo $item_1 ?></option>

        <option value="item-2"><?php echo $item_2 ?></option>

      </select>

    </form>

在下面的代码中,我想根据与基本表单提交一起使用的选择来更改 $key。但是如何使用 ajax 实现这一点而不需要重新加载页面或提交表单呢?


PHP


if (isset($_POST['my-select']) && $_POST['my-select'] == 'item-1') {

    

    $key = 'jlsDDLfjkcjkfn39209dmxmkdnfn';

    

} else { 


    $key = 'Plkdsldskjf$$dlkjfdckde@kld';


}


$ch = curl_init();

$url = "https://app.apirequest.co/api/v1/";

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Api-Key: ' . $key));

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


$response = curl_exec($ch);

$err = curl_error($ch);

curl_close($ch);

$response = json_decode($response, true);


$results = $response['msg']['ITEMLIST'];

?>

<div id='results'>

// echo results in html table here.

</div>

非常感谢任何有关 ajax 的帮助,或者至少能指出正确的方向,因为到目前为止,所有搜索都给我带来了死胡同。谢谢...


编辑:我将名称编辑为更通用,因此该错误不在我的实际代码中,而只是这里的拼写错误。


繁星淼淼
浏览 92回答 1
1回答

明月笑刀无情

选择的名称不是选择项目,因此如果您只想提交,则需要更改它以下是如何使用 Choose-item=item-1 或 item-2 发布到 PHP注意你可以做{[this.name]:val}而不是{"choose-item":val}假设选择的名称是“choose-item”<form class="choose-item" action="" method="post">&nbsp; <select id="select-item" name="choose-item">&nbsp; &nbsp; <option value="">Please select</option>&nbsp; &nbsp; <option value="item-1"><?php echo $item_1 ?></option>&nbsp; &nbsp; <option value="item-2"><?php echo $item_2 ?></option>&nbsp; </select>&nbsp;</form>$(function() {&nbsp; $("#select-item").on("change",function() {&nbsp; &nbsp; const val = this.value;&nbsp; &nbsp; if (val) {&nbsp; &nbsp; &nbsp; $.post("yourphp.php",{"choose-item":val},function(data) {&nbsp; &nbsp; &nbsp; &nbsp; $("#results").html(data);&nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; }&nbsp; })})
打开App,查看更多内容
随时随地看视频慕课网APP