Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从下拉框中获取所选值,并用于填充文本框php javascript_Javascript_Php_Jquery - Fatal编程技术网

从下拉框中获取所选值,并用于填充文本框php javascript

从下拉框中获取所选值,并用于填充文本框php javascript,javascript,php,jquery,Javascript,Php,Jquery,我正在根据更改的列表框填充textbox中的值 我的代码正在运行…并且正确地获取数据 但这是基于id的。 我需要根据cityname选择数据。 下面是我的代码 <?php require_once('includes/config.php'); ?> <?php $result1 = $database->getRows("SELECT * from areamaster"); ?> <html> <head> <script ty

我正在根据更改的列表框填充textbox中的值

我的代码正在运行…并且正确地获取数据

但这是基于id的。

我需要根据cityname选择数据。

下面是我的代码

<?php
require_once('includes/config.php');
?>

<?php
$result1 = $database->getRows("SELECT * from areamaster");
?>
<html>
<head>

<script type="text/javascript">
    var compInfoArray = [
        <?php                       
           foreach($result1 as $row1){ 

                echo 'id : ' . $row1['id'] . ',';
                echo 'cityname :  "'.$row1['cityname'].'",';
                echo 'area : "'.$row1['area'].'"';
            }
        ?>
    ];

    function showname() {
  var id = document.form1.id.value;
  var index = compInfoArray.contains(id);
  document.form1.cityname.value = compInfoArray[index]["cityname"];
  document.form1.area.value = compInfoArray[index]["area"];
}

window.onload = function() {
  showname();
}


Array.prototype.contains = function(needle) {
  for (var i in this) {
    for (var key in this[i]) {
      if (this[i][key] == needle) {
        return i;
      }
    }
  }
  return false;
}
</script>

  </head>
</head>
<body>
<form name="form1">
  <select name="id" onChange="showname()">
<?php foreach($result1 as $row1){   ?>  
    <option  value="<?php echo $row1["cityname"]; ?>"><?php echo $row1["cityname"]; ?></option>
    <?php }?>       
  </select>
  <label>
    <input type="text" name="cityname" value="" />
    <input type="text" name="area" value="" />
  </label>

</form>
</body>
    </html>

var compInfoArray=[
];
函数showname(){
var id=document.form1.id.value;
var index=compInfoArray.contains(id);
document.form1.cityname.value=compInfoArray[index][“cityname”];
document.form1.area.value=compInfoArray[index][“area”];
}
window.onload=函数(){
showname();
}
Array.prototype.contains=函数(指针){
for(本节中的var i){
for(此[i]中的var键){
if(此[i][key]==针){
返回i;
}
}
}
返回false;
}

我尝试以极简的方式重现您的案例。html:

<form name="form1">  

    <select name="id" onChange="showname()">

       <option  value="Paris">Paris</option>
       <option  value="London">London</option>
       <option  value="Berlin">Berlin</option>          

    </select>
    <label>
        <input type="text" name="cityname" value="" />
        <input type="text" name="area" value="" />
    </label>

</form>
然后我编写了一个原型,可以在任何子数组键中找到一个值:

Array.prototype.contains = function (needle) 
{
   for (var i in this) 
   {
       for(var key in this[i]) 
       {
            if(this[i][key] == needle )
            {
                return i;
            }
        }
   }
   return false;
}
最后,使用showname()函数:

function showname() 
{
    var id = document.form1.id.value;
    var index = compInfoArray.contains(id);
    document.form1.cityname.value = compInfoArray[index]["cityname"];
    document.form1.area.value = compInfoArray[index]["area"];
}
工作代码段:

var compInfoArray=[{
“id”:5,
“城市名称”:“巴黎”,
“面积”:“FR”
}, {
“id”:8,
“城市名称”:“伦敦”,
“区域”:“英国”
}, {
“id”:12,
“城市名称”:“柏林”,
“区域”:“GER”
}];
函数showname(){
var id=document.form1.id.value;
var index=compInfoArray.contains(id);
document.form1.cityname.value=compInfoArray[index][“cityname”];
document.form1.area.value=compInfoArray[index][“area”];
}
window.onload=函数(){
showname();
}
Array.prototype.contains=函数(指针){
for(本节中的var i){
for(此[i]中的var键){
if(此[i][key]==针){
返回i;
}
}
}
返回false;
}

巴黎
伦敦
柏林

先生,我是javascript新手,在那里我找不到任何解决方案..请在我的代码中提出建议..我所做的更改…我尝试将cityname放入所有代码中,但这显示了一些引用和未定义的错误..请提供帮助..请描述一下在使用
$row1[“cityname”]时有什么不起作用?当我放入$row1[“cityname”]时,此代码不选择任何内容;如果我放置$row1[“id”];在select box value中,代码运行良好,并填充文本框数据。我认为我的javascript中存在问题。这不接受文本或id以外的任何值。确切地说,先生,您的代码正在工作,但我需要使用mysql和php实现此功能…我的意思是,我需要动态plz帮助使此数组var compInfoArray从mysql加载…但当我将您的动态数组代码和我的列表框..代码不工作..并且没有填充数据..我的列表框代码是。。。我用你的代码替换我的投诉代码…我如何在我的文件中实现你的代码…。请查看问题中的我的更新代码是的,我把这个…尽快更新我的更新代码我忘记了一些括号。我更新了答案中编辑的循环。
function showname() 
{
    var id = document.form1.id.value;
    var index = compInfoArray.contains(id);
    document.form1.cityname.value = compInfoArray[index]["cityname"];
    document.form1.area.value = compInfoArray[index]["area"];
}