无法在wordpress中将选择框显示为ajax响应

Posted

技术标签:

【中文标题】无法在wordpress中将选择框显示为ajax响应【英文标题】:Not able to display select box as ajax response in wordpress 【发布时间】:2017-11-07 00:22:18 【问题描述】:

我有两个下拉框,一个是自定义分类法,另一个是当前所选分类法下的自定义帖子。为此,我编写了一个 on-change 函数。我在显示输出时遇到了一些问题 它显示这样的输出

8Associate<select class="form-control" name="upload_designation" id="upload_designation" >

<option value="">Select Designation</option><option value=""></option></select>

而不是

<select class="form-control" name="upload_designation" id="upload_designation" >

<option value="">Select Designation</option>
<option value="8">Associate</option></select>

我在这里发布我的更改功能 请帮我解决问题

function change_desgination() 
$post_val=explode("_",$_POST['id']);
$id=$post_val[0];
$taxonomy_name=$post_val[1];


$out='<select class="form-control" name="upload_designation" id="upload_designation" >
<option value="">Select Designation</option>';

    $args = array(
    'post_type' => 'designation',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'tax_query' => array(
        array(
            'taxonomy' => 'domain',
            'field' => 'slug',
            'terms' => $taxonomy_name
        )
    )
);
$the_query = new WP_Query( $args );

while ( $the_query->have_posts() ) : $the_query->the_post();
$theid=the_ID();
$thetitle=the_title();

  $out.='<option value="'.$theid.'">'.$thetitle.'</option>';

endwhile;
  $out.='</select>';
  die($out);
  

可能是引号的问题。任何人请帮我找出问题所在。提前致谢。

【问题讨论】:

$thetitle=the_title();检查 $thetitle 值? @Dinesh the_title() 值正在正确其 `the_title() =Associate` 和 the_ID()=8 值即将到来但不在 【参考方案1】:

检查了你的代码我建议你使用 foreach 循环而不是 while 如下

<?php

$out='<select class="form-control" name="upload_designation" id="upload_designation" >
<option value="">Select Designation</option>';

$array = array('one','two','three','four');

foreach ($array as $key => $value) 
  $out.='<option value="'.$key.'">'.$value.'</option>';

  $out.='</select>';
  die($out);
?>

用代码中显示的数组替换您的数据

【讨论】:

【参考方案2】:

问题出在

$theid=the_ID();
$thetitle=the_title();

the_ID()the_title() 将回显这些值 其中get_the_ID();get_the_title(); 将返回值作为字符串。 所以我用了

$theid=get_the_ID();
$thetitle=get_the_title();

参考链接

https://wordpress.stackexchange.com/questions/48523/get-title-of-post-without-using-the-title

https://developer.wordpress.org/reference/functions/get_the_id/

【讨论】:

以上是关于无法在wordpress中将选择框显示为ajax响应的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 中的 AJAX 只返回 0

如何在codeigniter中将ajax选择的依赖下拉选项传递给mysql数据库

无法在 Spark 中将 CSV 文件加载为数据框

如何在 wordpress 中将单选按钮添加到我的网站

在选择时将 wfs 属性显示为标签

Wordpress:Ajax 无法插入、查询和结果数据