HTML に 2 つの選択があり、オプションはデータベース経由で読み込まれ、ユーザーは次のようにボックス間でオプションを切り替えることができます。
<select id="column1" multiple size="10" name="FromLB" style="width:150px">
<?php foreach ($result->result() as $row) { ?>
<option value="<?php echo $row->id ?>"><?php echo $row->title ?></option>
<?php } ?>
</select>
これまでのところ、最終的な計画は、ユーザーが [送信] をクリックし、PHP でこれら 2 つの選択に関するデータに (配列を介して) アクセスできるようにすることです。
少し調べてみると、JSON が最適なようです。
json.js をプロジェクトにインポートして作業を開始します。
function sort_cols(){
var i=0;
var p=0;
var column1 = new Array();
var column2 = new Array();
$("#column1 option").each(function()
{
column1[i]=$(this).val();
i=i+1;
});
$("#column2 option").each(function()
{
column2[p]=$(this).val();
p=p+1;
});
JSON = JSON.stringify(column1);
$.ajax({
url: '<?php echo base_url() . 'js_tests/update_news'; ?>',
type: 'POST',
data: JSON,
success: function(){
alert("Success!")
}
});
}
これまでのところ、(最初の選択列に対して) 配列を 1 つだけ渡していますが、エラーが発生しています: Uncaught TypeError: Object ["15","14","1"] has no method 'stringify'
私はこの答えに従ってきました: どのように正確に json_decode を使用して javascript 配列を php に渡しますか?
ここで何が間違っているのだろうか、どうすれば2番目の配列(column2)も渡すことができますか?