更新我已经编辑了下面的代码以反映@Andy_D建议。然而,现在我正在显示最初的选择选项,但我似乎无法开始工作。有什么帮助吗?谢谢
我希望根据选择框中的select选项回显值,该选项已按照下面的foreach
循环填充了组织名称值。
我使用这个库来调用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>
谢谢你的帮助。
发布于 2015-12-20 13:34:40
要在PHP中这样做,您需要重新加载页面。您可以提交select元素并从params获取ORGANISATION_ID,然后使用该id打印信息。
另一种方法是使用Javascript。首先,将组织信息传递给JS。类似于:
var orgs = <?php echo json_encode($orgs) ?>;
然后侦听select元素上的“change”事件,获取所选的id,并使用orgs JSON中的值填充信息。
您已经将PHP嵌入到您的JavaScript中,以便进行on回调。该代码不会在浏览器中被调用时运行,而不是在您的服务器中。为了使当前的方法正常工作,需要将所有数据存储在JavaScript变量中(我在上面建议的),并在回调中使用这些数据。您可以为每个需要更改的字段设置一个唯一的HTML id,并使用该id来更改内容
document.getElementById('orgName').innerHTML = orgs.orgThatWasSelected.name
https://stackoverflow.com/questions/34347987
复制相似问题