Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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的单独div中填充下拉菜单_Javascript_Php_Jquery_Drop Down Menu_Pagination - Fatal编程技术网

Javascript 在php的单独div中填充下拉菜单

Javascript 在php的单独div中填充下拉菜单,javascript,php,jquery,drop-down-menu,pagination,Javascript,Php,Jquery,Drop Down Menu,Pagination,在单独的div中填充php中的下拉菜单 我有一个使用ajax的函数搜索,它将许多值/变量作为“ajax\u数据”传递给php,如color、itemtype等 $.ajax({ url: 'phpmysql.php', data: ajax_data, success: function (data) { $('#searchresults').html(data); } }).error(f

在单独的div中填充php中的下拉菜单

我有一个使用ajax的函数搜索,它将许多值/变量作为“ajax\u数据”传递给php,如color、itemtype等

    $.ajax({
        url: 'phpmysql.php',
        data: ajax_data,
        success: function (data) {
            $('#searchresults').html(data);
        }
    }).error(function() {
        alert ('An error occurred');
    });
然后将搜索结果动态填充到搜索结果中

我有一个下拉菜单pagemenu,我想动态显示当前搜索的页码,例如,如果有10页的结果显示选项,下拉菜单上的选项范围从1到10

我用php计算了“每页结果”和“总页数”,并将它们设置为$per_page和$totalpage

//forloop listing number of pages in dropdown
    for ($x=1; $x<=$totalpages; $x++) {
    echo "<option value=".$x.">".$x."</option>";
    }

所以搜索结果被加载到searchresults中,但是我如何将上面的for循环加载到单独div中的pagemenu下拉列表中呢?目前我唯一能想到的方法是在主页中为下拉菜单和forloop编写php,然后使用会话变量链接到php文件,但不确定这是否是一个好主意。任何建议都将不胜感激!感谢您坚持您的特定问题,这涉及到在服务器中创建下拉列表并在AJAX响应中返回它,您似乎需要在所述响应中返回两个内容:数据和分页选项

您可以做的一件事是返回一个包含这两个内容的Json对象,这样您就可以执行以下操作:

success: function (data) {
    $('#searchresults').html(data.result);
    $('#pagemnu').html(data.options);
}
从客户端实现这一点的方法之一是将数据类型添加到json中,以便将数据解析为对象并准备好使用:

$.ajax({

    dataType: 'json',

    url: 'phpmysql.php',
    data: ajax_data,
    success: function (data) {
        $('#searchresults').html(data.result);
        $('#pagemnu').html(data.options);
    }
}).error(function() {
        alert ('An error occurred');
});
在服务器端,您将使用这两个结果填充一个数组,并将其作为JSON返回:

$result = array();
...
$result['searchResult'] = $theSearchResult;

$optionsHtml = '';
for ($x=1; $x<=$totalpages; $x++) {
    $optionsHtml .= "<option value=".$x.">".$x."</option>";
}
$result['options'] = $optionsHtml;

...

echo json_encode( $result ); 

真的不清楚你的具体问题是什么很好,我就这样试试。谢谢