2013-12-09 67 views
0

我遇到了php和jQuery的问题,我一直试图弄清楚这个问题,但我觉得我可能会误解如何获得我需要工作。我使用WordPress,但基本的PHP和jQuery编码将工作,因为WordPress包括两个以上。所以,让我接受它。如何在wordpress中动态填充使用jquery的选择框

每个人都非常了解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变量的数组中的术语,并使用我的数组中的术语填充每个选项。任何例子都会很棒。

回答

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>"); 
}); 
+0

哦好吧,我看你做什么,我要去尝试尝试这一点,当我回到我的电脑附近 – Ray

+0

这解决了我的问题,我没有得到我的条款,我想也是因为我没有调用每个术语的条款功能。 'function buildSelect($ tax){ \t \t $ terms = get_terms('location'); \t $ count = count($ terms); \t $ x =''; \t return $ x; \t }' – Ray

0

我所理解的是你想从php数组中获取值,转换成jquery,并像在Jquery中那样操作这些值,

要这样做,我会建议你打印$ terms ar ray放到你希望它们位于jquery中的JSON对象数组中。

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

所以当你运行页面,PHP是excuted后,它会是这样的:

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

是的你的正确!它试图弄清楚这一点令人沮丧,所以我决定把它发送到stackoverflow。 – Ray

+0

由于某种原因,我不能让我的盒子填充我测试它在js小提琴中工作,但是当我将它应用到WordPress本地主机它不会通过任何原因。这让我想到也许在本地我不能看到它,只有当它的生活然后生病时才能够。 – Ray

+0

这里是我的js小提琴我搞乱了http://jsfiddle.net/jtKvn/1/它在这里返回值,但是当我在我的本地主机上这样做时,它不显示 – Ray

相关问题