2015-12-18 45 views
1

更新 我已编辑下面的代码来反映@Andy_D建议。 但是现在我正在显示初始选择选项,但onchange我似乎无法工作。任何帮助?由于PHP选择框选择回波细节


我想根据从选择框中选择选项已被填充了每个下面foreach

我使用这个库的API调用来Insightly CRM组织名称值呼应出值https://github.com/Insightly/insightly-php

<?php 
    include 'authentication.php'; 
    $orgs = $i->getOrganizations(); 
    global $organID; 
    global $organName; 
?> 
<select id="target" > 
     <?php foreach ($orgs as $org) { ?> 
      <?php 
       $organID = $org->ORGANISATION_ID; 
       $organName = $org->ORGANISATION_NAME;     
       $street = $org->ADDRESSES[0]->STREET; 
       $city = $org->ADDRESSES[0]->CITY; 
       $state = $org->ADDRESSES[0]->STATE; 
       $postcode = $org->ADDRESSES[0]->POSTCODE; 
       $country = $org->ADDRESSES[0]->COUNTRY; 
      ?>      
      <option value="<?php echo $organName ?>"><?php echo $organName ?></option> 
     <?php }?> 

     <script type="text/javascript"> 
       $("#target").on("change", function() { 
       var orgName = "<?php echo $organName ?>"; 
       var orgID ="<?php echo $organID ?>"; 
       var orgName = "<?php echo $organName ?>"; 
       var street = "<?php echo $street ?>"; 
       var city = "<?php echo $city ?>";  
       var state = "<?php echo $state ?>"; 
       var postcode = "<?php echo $postcode ?>"; 
       var country = "<?php echo $country ?>"; 

       $(".organisation").html(orgID + "<br>" + orgName + "<br>" + street + "<br>" + city + "<br>" + state + "<br>" + postcode + "<br>" + country); 
       }); 
     </script> 
     </select> 

     <div class="organisation"></div> 

非常感谢您的帮助。

回答

1

要在PHP中完成此操作,您需要重新加载页面。您可以提交您的select元素并从参数中获取ORGANISATION_ID,然后使用该ID打印出信息。

另一种方法是使用Javascript。首先,将组织信息传递给JS。喜欢的东西:

var orgs = <?php echo json_encode($orgs) ?>; 

后来听你的选择元素的“改变”事件,抢选择ID,并使用从您的单位JSON值填充信息。

您的JavaScript嵌入在您的JavaScript中,用于更改回调。该代码不会在浏览器中调用,而不是您的服务器。对于当前的工作方法,您需要将所有数据存储在JavaScript变量中(我上面提出的建议),并在回调中使用它。您可以设置一个独特的HTML ID为需要更改每个字段,并使用该ID所改动的内容,即

document.getElementById('orgName').innerHTML = orgs.orgThatWasSelected.name 
+0

嗨安迪感谢您的建议,我已经使用的JavaScript打印出结果但是我只能打印out初始选择select ..看起来存储的值不会更新更改,如果你可以帮助,这将是伟大的! – roshambo

+0

我已更新您的更新代码的答案。 –