簡體   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