【问题标题】:Use PHP Variable according to Select DropDown根据 Select DropDown 使用 PHP 变量
【发布时间】:2013-09-03 14:22:48
【问题描述】:

我正在尝试根据 Select Dropdown 选择更改要使用的 php 变量。 我知道如何使用 jQuery .change 更改值,但在这种情况下,因为我使用了一个变量,并且 php 在页面加载时运行并且与 jquery 无关,所以我使用两个变量但不知道如何使用,请帮忙。

下面是两个php变量:

$str201 = '21|'.$paygate_id.'|'.$name.'|'.$amount.'|'.$currency.'|'.$return_url.'|'.$transaction_date.'|'.$start_date.'|'.$end_date.'|201|NO||'.$key;
$str202 = '21|'.$paygate_id.'|'.$name.'|'.$amount.'|'.$currency.'|'.$return_url.'|'.$transaction_date.'|'.$start_date.'|'.$end_date.'|202|NO||'.$key;

选择下拉菜单

<select name="selectFrequency" id="selectFrequency">
  <option value="">- Select -</option>
  <option value="201">1</option>
  <option value="202">2</option>
</select>

我需要在选择更改时更改 php 变量的隐藏输入:

<input type="hidden" name="CHECKSUM" value="'.md5($str).'">

【问题讨论】:

  • 如果你想从客户端与 PHP 交互,你必须触发一个 AJAX 请求
  • 能否请您将示例代码发送给我。我对 AJAX 不太熟悉 :(
  • 蒂姆,我们不能简单地用 jquery 更改变量,因为我们正在为两个选择运行两个不同的变量。你说什么?
  • 最好使用 ajax 来更改值。您需要在更改 ajax 调用时使用。通过数据发送选定的值,然后将响应作为值..
  • @Ganesh:你能告诉我我该怎么做吗?

标签: php jquery forms onchange


【解决方案1】:

向选项添加数据属性,包含您需要通过 CHECKSUM 传递的变量的 MD5 哈希。

<select name="selectFrequency" id="selectFrequency">
  <option value="">- Select -</option>
  <option value="201" data-checksum="'. md5($str201). '">1</option>
  <option value="202" data-checksum="'. md5($str202). '">2</option>
</select>

在选择更改时,只需使用此值更新隐藏的输入

编辑:

更新:

$('#selectFrequency').change(function() {

 $('input[name=CHECKSUM]').val($('#selectFrequency :selected').data('checksum'));

});

【讨论】:

    【解决方案2】:

    要与服务器端代码交互,您需要进行 AJAX 调用。因此,将更改事件附加到您的选择,然后触发 AJAX:

    $("#selectFrequency").change(function() {
        var selectedValue = this.value;
        $.ajax({
            url: "yourPHP.php", //Leave this out to call the same page
            type: "POST", //is this actually a post?
            data: {yourData : selectedValue} //Send your data in a key/val object
            success: function(data) {
                console.log(data); //your PHP response
            }
        });
    });
    

    【讨论】:

    • Tim,我将变量和表单都放在一个 php 文件中,而不是如何定义 yourphp.php ?
    • 啊,删除 URL 参数,它将返回到同一页面。
    【解决方案3】:

    这里是ajax调用的简单演示。您可以修改它以供您使用。我认为您可以在服务器端 PHP 中使用 md5()

    HTML 和脚本:

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
    $("#selectFrequency").change(function() {
        var selected = $(this).val();
        $.ajax({
            url: "script.php", 
            type: "POST", 
            data: {selected : selected},
            success: function(data) {
               alert(data); 
            }
        });
    });
    });
    </script>
    
    <select name="selectFrequency" id="selectFrequency">
      <option value="">- Select -</option>
      <option value="201">1</option>
      <option value="202">2</option>
    </select>
    

    脚本.php

    <?php
    echo $_POST['selected'];
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多