2013-12-09 2 views
0

У меня проблема с php и jQuery, я пытался понять эту штуку в течение некоторого времени, но я чувствую, что просто могу ошибаться, как получить то, что я нужно работать. Я использую WordPress, но базовое кодирование php и jQuery будет работать, потому что WordPress состоит из двух и более. Поэтому позвольте мне на это поправиться.как динамически заполнить поле выбора с помощью jquery в wordpress

все в значительной степени понимают foreach цикл в php. Это только мой пример, но это не имеет значения, как вы делаете свой цикл Еогеаспа:

$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

Start, помещая данные в 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

это решило мою проблему, я не получал мои условия, как я хотел слишком, потому что я не называл каждый термин функцией get terms. '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 в массив объектов JSON, где вы хотите, чтобы они находились в jquery.

Пример

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

поэтому при запуске страницы, после того, как РНР 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

Смежные вопросы