0

我想通过 Ajax将下拉列表的值传递index.php给文本框。test.php

Test.php内嵌在index.php. 一旦我更改下拉列表,该下拉列表的值需要在test.php不重新加载页面的情况下更新。

谢谢!!

索引.php

<script type="text/javascript">
            $(document).ready(function() {
        $('#dropdown1').change(function() {
            var value = $('#dropdown1').val()
            window.location = 'index.php?value=' + value;
        })
    })
</script>

<body>
    <h1>Ajax</h1>
    <select id="dropdown1">
        <option value="1">Value 1</option>
        <option value="2">Value 2</option>
        <option value="3">Value 3</option>
        <option value="4">Value 4</option>
    </select>

    <div>
        <iframe src="test.php" frameborder="0"></iframe>
    </div>
</body>

测试.php

<body>
    <?php

        echo "<h1> The Current Value: " . $_GET["value"] . "</h1>";

    ?>
</body>

4

2 回答 2

0

如果“不重新加载页面”是指重新加载 index.php,则可以使用 target 发布到 test.php,如下所示:

<iframe id="test_php"/>
<form target="test_php">
   <select onchange="this.parentNode.submit()"/>
</form>

这将要求您的 test.php 脚本接受帖子并“重新加载”。

于 2013-10-04T07:15:27.420 回答
0

我之前的回答可能是要走的路——简单胜于复杂。

如果您坚持使用 ajax(在服务器上存储更改的值),您可以使用两步方法:

1 在不重新加载的情况下更新 iframe 使用:

document.getElementById('iFrameID').contentWindow.document.body.innerHTML='你好改变了值!'

2 使用ajax 更新服务器上的值,不需要回调。

于 2013-10-04T08:37:43.427 回答