2014-03-27 12 views
-1

我正在使用codeigniter。我有控制器調用feature.php並查看調用feature.php在視圖中,我有下拉列表。 我需要保存我的軟件包id在會話中,當用戶選擇drop-down.how我可以做到這一點,而無需刷新和提交數據在我的?如何在下拉列表中傳遞選定的值而不使用php提交數據?

這是針對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> 

需要快速幫助感謝名單

+1

沒有提交我會說你需要JavaScript和Ajax或其他東西。 – AbcAeffchen

+0

爲此使用ajax。 –

+0

你需要使用js ajax –

回答

1

可以創建名爲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 
     } 
    }) 
}); 
1

我沒有關於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 PARAMS和你可以存儲會話。

相關問題