Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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
Javascript php下拉式实时更新_Javascript_Php_Ajax_Drop Down Menu - Fatal编程技术网

Javascript php下拉式实时更新

Javascript php下拉式实时更新,javascript,php,ajax,drop-down-menu,Javascript,Php,Ajax,Drop Down Menu,如果之前有人回答过我的问题,我深表歉意,但我确实做了搜索,没有看到其他帖子中所问问题的任何答案。我所看到的答案与我的问题并不相关,主要与从mysql获取结果的下拉列表有关 我有一个php下拉列表,您需要在其中选择值1、2或3。根据所选内容,列表应更新变量并显示隐藏的div标记。现在从我收集的信息来看,这似乎不能单独用php来完成,而是需要一个javscript或ajax脚本 php: 然后应实时更新此变量和div: <div id="test" style="display:none"&g

如果之前有人回答过我的问题,我深表歉意,但我确实做了搜索,没有看到其他帖子中所问问题的任何答案。我所看到的答案与我的问题并不相关,主要与从mysql获取结果的下拉列表有关

我有一个php下拉列表,您需要在其中选择值1、2或3。根据所选内容,列表应更新变量并显示隐藏的div标记。现在从我收集的信息来看,这似乎不能单独用php来完成,而是需要一个javscript或ajax脚本

php:

然后应实时更新此变量和div:

<div id="test" style="display:none">
    $answer= 1 + $value
    <?php
        echo "1 + $value = $answer";
</div>
javascript/ajax:


我需要指出的是,我不了解javascript或ajax。

如果您只需要在同一页面中查看新结果,而不需要向服务器请求任何内容,请在最后一个div下面添加此脚本:

<script>

var element = document.getElementsByName('options');
if( element.length > 0 ){
    element[0].addEventListener('change',update_text,false);
        //element[0].addEventListener('change',function(){update_text(param)},false);
}

function update_text(evt){
    console.log(evt);
    var first_element = evt.target;
    var selection = first_element.options[first_element.selectedIndex].value;
    //do math:
    selection = +selection + 1; //this cast selection as number and not as String

    console.log(selection);
    var test = document.getElementById('test');
    test.style.display = 'block';
    test.innerHTML = `<p>${selection}</p>`;
};

</script>

将其包含在html的头部。code.jquery.com/jquery-1.10.2.js>。将id=选项添加到您的选择中。添加以下代码$test.html$options选项:selected.text;如果您使用jQuery,您可以使用$'select'将事件侦听器添加到选择框中。在'change'上,函数{};在这个函数中,使用$.ajaxor$.getjson对服务器进行ajax调用,并在回调函数中显示您的div
<script>
    function dosomething {
        #update $value based on dropdown and do calculation
        #unhide div with id "test"  
    }
</script>
<script>

var element = document.getElementsByName('options');
if( element.length > 0 ){
    element[0].addEventListener('change',update_text,false);
        //element[0].addEventListener('change',function(){update_text(param)},false);
}

function update_text(evt){
    console.log(evt);
    var first_element = evt.target;
    var selection = first_element.options[first_element.selectedIndex].value;
    //do math:
    selection = +selection + 1; //this cast selection as number and not as String

    console.log(selection);
    var test = document.getElementById('test');
    test.style.display = 'block';
    test.innerHTML = `<p>${selection}</p>`;
};

</script>