[英]storing select box values into an array
我有兩個選擇框和一個link.i從第一個選擇框中選擇一個值,從第二個選擇框中選擇另一個,然后單擊鏈接。每次都必須將值存儲在一個數組中,而不會更換先前的值。我可以不使用多個選擇框嗎?
<select name="sq" id="sq" >
<option value=""></option>
</select>
<select name="as" id="as" >
<option value=""></option>
</select>
對不起忘記提及..在codeigniter中
您可以使用change事件來存儲選定的值。
HTML
<select name="sq" id="sq" >
<option value="1">1</option>
<option value="2">2</option>
</select>
使用Javascript
arrSelected = []
$("#sq").change(function(){
arrSelected.push($(this).val());
});
通過評論中添加的信息,這是我的建議:
HTML:
<div class="selectLine">
<select name="sq[]" >
<option value=""></option>
</select>
<select name="as[]" >
<option value=""></option>
</select></div>
<a id="addOption">
JavaScript的:
$('#addOption').click(function(){
$('.selectLine').last().after($('.selectLine').outerHtml());
$('.selectLine').last().prev().hide();
});
PHP收到帖子:
foreach($_POST['sq'] as $key=>$name){
//Make sure you stay consistent with the keys to make sure the 2 values were entered at the same time.
echo '<p>'.$name.' is a '.$_POST['as'][$key].'</p>';
}
將[]添加到輸入名稱的末尾將把它們放在數組中。 但如果您想要多個值,則需要多個...
你可以刪除$('.selectLine').last().prev().hide();
保持顯示給用戶的線條,以便他可以根據需要更改值。
這將使用AJAX發送數據而不刷新頁面:
用於<a href="#" id="submitlink">Submit data</a>
鏈接
然后添加以下jQuery腳本:(首先需要包含jQuery庫)
$('#submitlink').click(function(event) {
event.preventDefault(); // Stops default link behaviour on click
$.ajax({
url: "yourphp.php", // where to send
data: 'sq=' + $('#sq').val() + '&as=' + $('#as').val(), // select values
type: "POST",
success: function(data){
// If you want to confirm
alert('Added');
}
});
});
然后在你的PHP腳本中將$ _POST數據存儲在數據庫或會話中......
會話示例,存儲:
<?php
session_start();
if (!isset($_SESSION['sq']) $_SESSION['sq'] = array();
$_SESSION['sq'][] = $_POST['sq'];
if (!isset($_SESSION['as']) $_SESSION['as'] = array();
$_SESSION['as'][] = $_POST['as'];
?>
要檢索結果,您可以使用:
<?php
session_start();
if (isset($_SESSION['sq']) print_r($_SESSION['sq']);
if (isset($_SESSION['as']) print_r($_SESSION['as']);
?>
但當然可以詳細闡述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.