![](/img/trans.png)
[英]Pass Datetime/Timestamp from PHP to Javascript by echo
[英]Pass echo php in javascript
根據問題,我在 javscript 中實現了一個動態表單,這要求選擇中選擇的第一個選項與新選擇中的另一個匹配:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Documento senza titolo</title>
<script>
function random_function()
{
var a=document.getElementById("input").value;
if(a==="INDIA")
{
var arr=["Maharashtra","Delhi"];
}
else if(a==="USA")
{
var arr=["Washington","Texas","New York"];
}
var string="";
for(i=0;i<arr.length;i++)
{
string=string+"<option>"+arr[i]+"</option>";
}
string="<select name='any_name'>"+string+"</select>";
document.getElementById("output").innerHTML=string;
}
</script>
</head>
<body>
<select id="input" onchange="random_function()">
<option>select option</option>
<option>INDIA</option>
<option>USA</option>
</select>
<div id="output">
</div>
</body>
</html>
到這里沒什么奇怪的,但現在我想知道,以前創建了一個數據庫,我該如何代替城市以靜態方式實現<?php echo $row_regioni['regione']; ?>
<?php echo $row_regioni['regione']; ?>
?
<select>
<?php do { ?>
<option>
<?php echo $row_regioni['regione']; ?>
</option>
<?php } while ($row_regioni = mysqli_fetch_assoc($regioni)); ?>
</select>
</form>
html的代碼如下。
<select>
<?php
while(($row = mysqli_fetch_assoc($regioni)) !== null){
print(
"<option value='".htmlentities($row['regione'])."'>".
htmlentities($row['regione']).
"</option>"
);
}
?>
</select>
為了將它傳遞給 javascript,有多種解決方案。 最簡單的(我不會選擇,因為用 php 搞亂了 javascript)是:
<?php
$regions = array();
while(($row = mysqli_fetch_assoc($result)) !== null){
array_push($regions, '"'.str_replace('"', '\\"', $row['regione']).'"');
}
?>
<script>regions = [<?php print(implode(",\n\t", $regions)); ?>];</script>
這將設置可在 javascript 中訪問的數組regions
。 您可以將 js 代碼修改為:
function random_function(){
// ...
var string = "";
for(var i = 0; i < regions.length; i++){
string += "<option value='" + regions[i] + "'>" + regions[i] + "</option>";
}
string = "<select name='any_name'>" + string + "</select>";
//...
}
您的示例如下所示:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Documento senza titolo</title> <?php $regions = array(); while(($row = mysqli_fetch_assoc($result)) !== null){ array_push($regions, '"'.str_replace('"', '\\\\"', $row['regione']).'"'); } ?> <script>regions = [<?php print(implode(",\\n\\t", $regions)); ?>];</script> <script> function random_function(){ var a = document.getElementById("input").value; var arr; if(a === "INDIA"){ arr = ["Maharashtra", "Delhi"]; } else if(a === "USA"){ arr = ["Washington", "Texas", "New York"]; } var options = ""; for(var i = 0; i < regions.length; i++){ options += "<option value='" + regions[i] + "'>" + regions[i] + "</option>"; } var select ="<select name='any_name'>" + options + "</select>"; document.getElementById("output").innerHTML = select; } </script> </head> <body> <select id="input" onchange="random_function()"> <option>select option</option> <option>INDIA</option> <option>USA</option> </select> <div id="output"> </div> </body> </html>
我更喜歡用 php 創建選擇。 如果這是不可能的,我將使用 ajax 請求從數據庫中獲取值。 但我假設您對 js 不是很熟悉,所以我不會為此發布代碼。 那是先進的技術。
你可以做這樣的事情
<select id="input">
<option value="">select option</option>
<?php foreach(mysqli_fetch_assoc($regioni) as $region){ ?>
<option value="<?php echo $region['regione']; ?>"><?php echo $region['regione']; ?></option>
<?php } ?>
</select>
如果您需要為選擇器設置默認值,您可以與一些變量或字符串進行比較
<option value="<?php echo $region['regione']; ?>"<?php ($region['regione'] == 'INDIA') ? echo
' selected="selected"' : '' ?>><?php echo $region['regione']; ?></option>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.