繁体   English   中英

如何在不使用php提交数据的情况下传递下拉列表中的选定值?

[英]How to pass selected value in dropdown list without submit data using php?

我正在使用codeigniter 。我有控制器调用feature.php和视图调用feature.php在视图php中我有一个下拉列表。 当用户选择下拉菜单时,我需要在会话中保存我的软件包ID。如何做到这一点而无需刷新并在from中提交数据?

这是我在查看php页面中的HTML代码

<div class="form-group">
<label for="lastname" class="control-label">Your Packages</label>
<?php if(isset($tourbuddy_packages)){?>
<select id="itemType_id" class="form-control input-sm" name="tripbuddy_PackageTitle" onChange="disp_text()">
    <?php foreach ($tourbuddy_packages as $packages) {?>
    <option value="<?php echo $packages['PackageID'] ?>">
        <?php echo $packages[ 'PackageTitle']?>
    </option>
    <?php } ?>
</select>
<input type="hidden" name="PackageID" id="country_hidden">
<?php } else { ?>
<select class="form-control input-sm" name="tripbuddy_PackageTitle">
    <option>Add Packages</option>
</select>
<?php } ?>
</div>

需要快速帮助

您可以创建一个名为save_package_to_session.php的php文件;

<?php
if (!isset($_SESSION)) {
    session_start();    
}

$package_id = $_POST["id"];
$_SESSION["pkg_id"] = $package_id;
echo $_SESSION["pkg_id"];
?>

和js,

$("#itemType_id").change(function() {
    $.ajax({
        url : "save_package_to_session.php",
        method: "POST",
        data: "id=" + $(this).val(),
        success: function(response) {
            // handle
        }
    })  
});

我对php代码没有更多了解,但是您提出了ajax请求

 $("#itemType_id").change(function() {
   $.ajax({
     url : controller_action_url,
     method: "POST" /* use get or post*/,
     data: "package_id=" + $(this).val(),
     success: function(response) {
     }
  })  
});

简单来说,现在您可以在控制器上获取package_id参数,并且可以将其存储在会话中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM