при выборе опции показывать данные из базы данных - пользовательские поля Woocommerce (оформить заказ) - PullRequest
2 голосов
/ 08 мая 2019

У меня есть следующий код для генерации выбора и внесения значений в опции:

add_action('woocommerce_after_order_notes', 'cliente_woocommerce');
function cliente_woocommerce($checkout)
{
    global $wpdb;
    /// in tab_clientes have id, nome, cpf, cnpj, ie, email, data_since columns
    $results = $wpdb->get_results("SELECT * FROM tab_clientes");
    $options = ['' => __('Selecione o cliente')];

    foreach ($results as $result) {
        $options[$result->nome] = $result->razao_social;
    }

    echo '<div id="cliente_woocommerce"><h2>' . __('Cliente') . '</h2>';

    woocommerce_form_field(
        'cliente',
        [
            'type' => 'select',
            'class' => ['cliente form-row-wide'],
            'label' => __('Campo de Teste (Cliente)'),
            'options' => $options,
        ],
        $checkout->get_value('cliente')
    );

    woocommerce_form_field(
        'nome',
        [
            'type' => 'text',
            'class' => ['nome form-row-wide'],
            'label' => __('Razão Social'),
            'default' => '',
        ],
        $checkout->get_value('nome')
    );

    woocommerce_form_field(
        'cnpj',
        [
            'type' => 'text',
            'class' => ['cnpj form-row-wide'],
            'label' => __('CNPJ'),
            'default' => '',
        ],
        $checkout->get_value('cnpj')
    );

    echo '</div>';
}

со следующим скриптом:

$(document).ready(function()
{
    $('#cliente').change(function() {
        $('#nome').val( $( this ).val() );
    });
    $('#nome').change(function() {
        $('#cnpj').val( $( this ).val() );
    });
});

Когда я выбираю клиента,Поле #nome (razão social - в таблице = razao_social) отображается с правильным значением, но значение повторяется в поле CNPJ.

что я делаю неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...