【问题标题】:PHP select box on select echo details选择回显详细信息上的 PHP 选择框
【发布时间】:2016-03-24 17:05:42
【问题描述】:

更新 我编辑了下面的代码以反映@Andy_D 的建议。 但是,现在我正在显示初始选择的选项,但 onchange 我似乎无法开始工作。有什么帮助吗?谢谢


我想根据下面foreachloop 填充了组织名称值的选择框中的选择选项来回显值

我正在使用这个库来调用 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>

感谢您的帮助。

【问题讨论】:

    标签: php json api crm


    【解决方案1】:

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

    另一种方法是使用 Javascript。首先,将组织信息传递给 JS。比如:

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

    然后在您的选择元素上侦听“更改”事件,获取选择的 ID,并使用您的组织 JSON 中的值填充信息。

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

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

    【讨论】:

    • 嗨,安迪,感谢您的建议,我使用了 javascript 打印结果,但是我只能打印出初始选项 select.. 似乎存储的值不会在更改时更新,如果您能提供帮助的话棒棒哒!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2014-05-25
    • 2013-06-26
    • 1970-01-01
    相关资源
    最近更新 更多