如何在wordpress中使用jquery动态填充选择框

时间:2013-12-09 21:11:14

标签: php wordpress jquery

我遇到了php和jQuery的问题,我一直试图将这个问题弄清楚一段时间,但我觉得我可能会误解如何得到我需要工作的东西。我正在使用WordPress,但基本的php和jQuery编码将起作用,因为WordPress包含两者和更多。所以让我明白吧。

每个人都非常了解php中的foreach循环。这只是我的例子,但是你如何进行foreach循环并不重要:

    $terms = get_terms($tax);
    $x = '<select name="'. $tax .'">';
    $x .= '<option value="">Select '. ucfirst($tax) .'</option>';
    foreach ($terms as $key =>&$term) {
       $x .= '<option value="' . $term->slug . '">' . $term->name . '</option>'
    }
    $x .= '</select>';
    return $x;

并且在jQuery和php中我的理解不起作用,因为它们发生在两个不同的方面。所以我要说:

<select name="tax">
  <option></option>
  <option></option>
  <option></option>
</select>

对于每个选择选项,我希望它们像php一样动态填充,但是在jQuery中。现在在jQuery中,您可以使用.each函数,然后使用for()函数。

我如何从php中获取存储在名为$tax的变量中的数组中的所有术语,并使用我的数组中的术语填充每个选项。任何例子都会很棒。

2 个答案:

答案 0 :(得分:0)

首先将数据放入json并将其填充到变量中:

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

现在使用jQuery写出来,应该看起来像这样:

$("document").ready(function() {

$("#my-form").text("<select>");

$(arrayFromPHP.items).each(function(index, item) {
    form.append(
        $(document.createElement('option')).text(item)
    );
});

$("#my-form").append("</select>");
});

答案 1 :(得分:0)

我所理解的是你想从php数组获取值到jquery并在Jquery中操作这些值,

为此,我建议你将$ terms数组打印到一个JSON对象数组中,你希望它们位于jquery中。

实施例

<script>
var taxArray= <?php toJson($terms) ?>
</script>

所以当你运行页面时,在php被执行后会出现这样的情况:

<script>
var taxArray= [{itemName:book,taxPrice:10,TaxPercentage:12}, {itemName:pencil,taxPrice:10,TaxPercentage:12}]
</script>