2013-08-12 27 views
3

我想要創建一個包含在每個選項多值的選擇「下拉菜單」 .. 是這樣的:如何創建一個選擇的多值

<select id="select" name="zone"> 
<option value="val1" value="val2" value="val3">zone1</option> 
<option value="v1" value="v2" value="v3">zone2</option> 
<option value="valu1" value="valu2" value="valu3">zone3</option> 
</select> 

請告訴我如何進行謝謝你

+0

也許[這](HTTP:// stackoverflow.com/questions/3245967/can-an-option-in-select-tag-carry-multiple-values)將有所幫助。每個選項有 – geekchic

+0

單個值。如果你想擁有多個值,你可以給逗號分隔值並在提交時只用逗號分隔它們。 – swan

+0

您不能多次設置相同的屬性。所以這裏的value屬性在你的選項標籤中不止一次是錯誤的。 –

回答

1

你能做到這一點

<select id="select" name="zone"> 
<option value="val1,val2,val3">zone1</option> 
<option value="v1,v2,v3">zone2</option> 
<option value="valu1,valu2,valu3">zone3</option> 
</select> 

,並在客戶端或類似上在腳本中使用拆分服務器上

+0

感謝它非常有用 –

1

您可以輕鬆使用簡單的技巧,因爲您可以使用值屬性中的分隔符(例如:)連接所有值。

當你在php中獲得價值時,它會爆炸它,你將得到所有需要的值。

<select id="select" name="zone"> 
<option value="val1:val2:val3">zone1</option> 
<option value="v1:v2:v3">zone2</option> 
<option value="valu1:valu2:valu3">zone3</option> 
</select> 

現在在PHP中,你只需要做到這一點:

<?php 

$value = $post['zone']; // assuming form method is post 
$values = explode(':',$value); 
$value_1 = $values[0]; 
$value_2 = $values[1]; 
$value_3 = $values[2]; 
?> 

希望它是有用的:)

+0

謝謝Rahul :)請告訴我,如果我使用php變量,它是一樣的嗎? –

+0

是的,你也可以使用php變量。如果我的回答是正確的,並且有幫助,我應該得到一個upvote .. :) – Rahul

0

,所以如果我明白你都告訴我,我可以這樣做:?

<form> 
    <select class="target"> 
      <?php // loading rectangles from database 
        $dbname   ='zone'; //Name of the database 
        $dbuser   ='root'; //Username for the db 
        $dbpass   =''; //Password for the db 
        $dbserver   ='localhost'; //Name of the mysql server 

        $dbcnx = mysql_connect ("$dbserver", "$dbuser", "$dbpass"); 
        mysql_select_db($dbname) or die(mysql_error()); 

        $query = mysql_query("SELECT * FROM ville"); 
        while ($row = mysql_fetch_array($query)) 
        { 
         $name=$row['NOM_VILLE']; 
         $lat1=$row['LATITUDE1_V']; 
         $lon1=$row['LONGITUDE1_V']; 
         $lat2=$row['LATITUDE2_V']; 
         $lon2=$row['LONGITUDE2_V']; 

        echo "<option value=".$lat1.",".$lon1.",".$lat2.",".$lon2.">".$name."</option>";  
         } 
       ?> 
       </select> 
</form> 
3

您無法在選項中添加許多值。相反,您可以使用的數據集(HTML5),如:

<select id="myselect"> 
<option data-this="foo" data-that="bar"> 
</select> 

的JavaScript來讀取這些值是:

var d = document.getElementById("myselect"); 
var _this = d.options[d.selectedIndex].dataset["this"]; 
var _that = d.options[d.selectedIndex].dataset["that"]; 

如果你不想與數據集的一塌糊塗,你可以存儲一個JSON對象:

... 
<option value='<?php echo json_encode(array("foo"=>1,"bar"=>2)); ?>'> 
... 

並提取數據,如:

var d = document.getElementById("myselect"); 
var option_value = JSON.parse(d.options[d.selectedIndex].value); 

來源:embedding multiple values in options of <select>

0

我發現瞭如何做到這一點 ....這是我最後的代碼..謝謝:)大家..

<!DOCTYPE html> 
<html> 
<?php 
include_once("config.php"); 
?> 
<head> 
<title>Simple Map</title> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
<meta charset="utf-8"> 
<style> 
html, body, #map-canvas { 
    margin: 0; 
    padding: 0; 
    width: 500px; 
    height: 500px; 
left; 
} 
</style> 
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> 
<script> 
var map; 
//var bounds; 
function addRectangle(lat1, lon1, lat2, lon2) 
{ 
          var Bounds = new google.maps.LatLngBounds(
           new google.maps.LatLng(lat1, lon1), 
           new google.maps.LatLng(lat2, lon2) 
         ); 
          var rectangle = new google.maps.Rectangle({ 
          bounds: Bounds, 
          //draggable: true, 
          //editable: true, 
          map : map, 
         }); 
         //rectangle.setMap(map); 
} 

function initialize() { 
    var mapOptions = { 
    zoom: 8, 
    center: new google.maps.LatLng(44.490, -78.649), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    map = new google.maps.Map(document.getElementById('map-canvas'), 
     mapOptions); 

     <?php // loading rectangles from database 
        $dbname   ='zone'; //Name of the database 
        $dbuser   ='root'; //Username for the db 
        $dbpass   =''; //Password for the db 
        $dbserver   ='localhost'; //Name of the mysql server 

        $dbcnx = mysql_connect ("$dbserver", "$dbuser", "$dbpass"); 
        mysql_select_db($dbname) or die(mysql_error()); 

        $query = mysql_query("SELECT * FROM ville"); 
        while ($row = mysql_fetch_array($query)) 
        { 
         $name=$row['NOM_VILLE']; 
         $lat1=$row['LATITUDE1_V']; 
         $lon1=$row['LONGITUDE1_V']; 
         $lat2=$row['LATITUDE2_V']; 
         $lon2=$row['LONGITUDE2_V']; 
         echo "addRectangle($lat1, $lon1, $lat2, $lon2);"; 
        } 
       ?> 
} 
google.maps.event.addDomListener(window, 'load', initialize); 

    </script> 
</head> 
<body> 
<div id="map-canvas"></div> 
<?php // loading makers from database 
        $dbname   ='zone'; //Name of the database 
        $dbuser   ='root'; //Username for the db 
        $dbpass   =''; //Password for the db 
        $dbserver   ='localhost'; //Name of the mysql server 

        $dbcnx = mysql_connect ("$dbserver", "$dbuser", "$dbpass"); 
        mysql_select_db($dbname) or die(mysql_error()); 

        $query = mysql_query("SELECT * FROM ville"); 
        while ($row = mysql_fetch_array($query)) 
        { 
         $name=$row['NOM_VILLE']; 
         $lat1=$row['LATITUDE1_V']; 
         $lon1=$row['LONGITUDE1_V']; 
         $lat2=$row['LATITUDE2_V']; 
         $lon2=$row['LONGITUDE2_V']; 

         //$desc=$row['zone']; 
         echo " ".$lat1.", ".$lon1.",".$lat2.", ".$lon2.""; 
         //echo "addMarker($lat, $lon,'<b>$name</b><br/>$desc');"; 
        } 
       ?> 
</body> 
</html> 
相關問題