#javascript #php #jquery #wordpress
#javascript #php #jquery #wordpress
Вопрос:
Я не знаю, возможно ли это вообще, но я полагаю, что стоит спросить. По сути, мне нужно передать Array
значения с php
веб-страницы на базовую JQuery
.
Array
Содержит список всех пользователей в database
, и я хочу заполнить a dropdown
этими пользователями.
Это моя php
страница: (с html
)
<form action="<?the_permalink()?>" method="post">
<div id="summary">
<?php wp_dropdown_users(array('name' => 'CMP Member') ); ?>
<table id="ordertable">
<tr><th>Product</th>
<th>Quantity</th>
<th>Bulk</th>
<th>Options</th>
</tr>
</table>
<!-- Comments Box -->
Comments<br/>
<textarea name="comments"></textarea><br/>
<input name="product_list" id="products_field" type="hidden" value="<?= isset($_POST['product_list'])?$_POST['product_list']:'' ?>">
Next Day Delivery <input type="checkbox" name="next-day-delivery" value="yes" />
<input type="submit" value="Confirm Order" class="confirmBtn"/>
</div>
</form>
Это мой JQuery
$this = $(this);
//If the cookie exists get a reference to the array it contains (productArray)
if($.cookie('order_cookie') != undefined){
productArray = JSON.parse($.cookie('order_cookie'));
$.cookie('order_cookie', JSON.stringify(productArray), { expires: 1, path: '/' });
$('#products_field').val(encodeURIComponent($.cookie('order_cookie')));//Add to hidden field
}
//Reference to the order table
var ordertable = document.getElementById("ordertable");
//Loop through the Array and display in the table
for(var i = 0; i < productArray.length; i ){
//Check if a dropdown is required in bulk order...
if(productArray[i].bulk == 'true'){
var bulk = "<select><option value='...'>...</option></select>";
}else{
var bulk = "";
}
var productRow;
productRow = '<tr>';
productRow = '<td>' productArray[i].stockCode '</td>';
productRow = '<td>' productArray[i].quantity '</td>';
productRow = '<td>' bulk '</td>'; <-- Want to put dropdown here!
productRow = '<td><input type="button" value="-" class="removeBtn"/>'
productRow = '<input type="button" value=" " class="addBtn"/>'
productRow = '<input type="button" value="Delete" class="deleteBtn"/></td>'
productRow = '</tr>'
$('#ordertable tr:last').after(productRow);
}
Если у кого-нибудь есть какие-либо предложения о том, как это сделать, я был бы признателен
Комментарии:
1. Если эти пользователи находятся в раскрывающемся списке, они становятся доступными для кода jQuery.
2. Я в замешательстве — зачем вам заполнять выпадающий список с помощью jQuery, если вы уже получаете заполненный выпадающий список из PHP?
3. Вам следует серьезно подумать об использовании автозаполнения вместо выпадающего списка.
4. @MarcinWolny, выпадающий список создается с помощью
WordPress
функции<?php wp_dropdown_users(array('name' => 'Member') ); ?>
. Он создает выпадающий список, дело в том, что я бы хотел, чтобы этот выпадающий список отображался в определеннойrows
таблице, а не во всех из них. Я проверял условие,Jquery
чтобы включить это