2017-06-02 6 views
0

私は2つの列を持つテーブルを持っているとドロップダウンリスト:HTML/PHPを使用して市と郵便番号phpの各「オプション」の「二つの値」と複数選択

/MySQLの

はダウン選択ドロップを作成しました都市としてラベルと郵便番号を値としてリストします。今度は、選択した都市と郵便番号の両方をキャッチしたいと思います(配列[]で複数選択を使用)。 "explode"は配列[]をサポートしていません。

これを達成する方法を教えてください。

+4

可能な複製(https://stackoverflow.com/questions/8027163/how-to- [オプション]フィールドに、2つの値を投稿する方法は?]オプションフィールドの2つ後の値) –

答えて

0

あなただけのHTMLやPHP(なしJavascriptが)、あなたがそうのように、区切り文字で選択同じでそれらの両方を置くことができて、それを行う必要がある場合:

<option value="City,Zip">City</option> 

をし、それを上の処理そのようなサーバー:

<?php 
    $location_data = $_POST["location_variable"]; 
    $exploded = explode(",", $location_data); 
    $city = $exploded[0]; 
    $zip = $exploded[1]; 
?> 

あなたが爆発し、データが適切な長さだったことを確認するためのチェック、エラー処理を含めるしたい、など

しかし、あなたはACCを持っている場合あなたはjavascript/jQueryに、データ属性でZIPや都市をバインドし、新しい隠しデータ属性を使用してそれを送信することもできます。

JavaScriptで
<option value="City" data-zip="zip">City</option> 

そして:の

$("form").submit(function() { 
    //find our zip value 
    var zip = $(this).find(":selected").data("zip"); 

    //create a new hidden input named "zip" 
    var input = $("<input>").attr("type", "hidden").attr("name", "zip").val(zip); 

    //add it to our form 
    $(this).append(input); 
}); 
+0

私はすでに最初のオプション(HTMLコード)を試していましたが、これはSingle選択でうまく動作します。しかし、私は5つの都市を選択したいので、配列を使っています。 explodeは配列をサポートしていません。 –

+0

@SagarPatra複数選択するには、選択範囲の配列を反復処理し、それぞれの配列を爆発させるだけです。 –

関連する問題