Передать массив значений PHP скрипту jQuery

#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 чтобы включить это