0

2 つの選択ボックスとリンクがあります。最初の選択ボックスから 1 つの値を選択し、2 番目の選択ボックスから別の値を選択して、リンクをクリックします。値は、前の値が置き換えられることなく、毎回配列に格納される必要があります。複数の選択ボックスを使用せずにこれを行うことはできますか?

<select name="sq" id="sq" >
<option value=""></option>
</select>

<select name="as" id="as" >
<option value=""></option>
</select>

申し訳ありませんが言及するのを忘れました..それはcodeigniterにあります

4

4 に答える 4

1

変更イベントを使用して、選択した値を保存できます。

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());
});
于 2013-03-06T10:26:24.867 に答える
1

コメントから追加された情報を使用して、ここに私の提案があります:

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();必要に応じてユーザーが値を変更できるように、行をユーザーに表示したままにするために削除できます。

于 2013-03-06T10:27:04.497 に答える
0

ウェブサイトに永続性を持たせたい場合は、PHP Cookiesを調べることをお勧めします。

あなたの場合、永続的に配列を保存したいので、いくつかのオプションがあります。

HTML 隠し要素を実装するか、シリアライゼーションを使用して配列を Cookie 内に格納できます。

于 2013-03-06T10:26:38.560 に答える