Связанный с Jquery-выбирает

#javascript #ajax #jquery #jquery-plugins

#javascript #ajax #jquery #jquery-плагины

Вопрос:

я пытаюсь создать 7 связанных полей выбора с помощью этого скрипта: https://github.com/tukutela/jquery-related-selects,

вот снимок: http://vitrineonline.com/porra /

итак, проблема в том, что при выборе 3 скрипт останавливается, чтобы запустить скрипт. не мог бы кто-нибудь, пожалуйста, просто дать мне подсказку о том, что происходит? спасибо 🙂

код:

 <form id="example">
<ul>
<li><label>Produto</label>
    <select name="categoriaID">

    <option value="AC">Acessórios</option>
    <option value="CA">Calçados</option>
    <option value="RO">Roupas</option>
    </select></li>
    </ul>

    <ul>
    <li><label>Tipo</label> 
    <select name="tipoID">
    <option value="">Escolha amp;raquo;</option>

    </select></li>
    </ul>

    <ul>
<li><label>Condição</label> 
    <select name="condicaoID">
    <option value="">Escolha  amp;raquo;</option>

    </select></li>
    </ul>

    <ul>
<li><label>Tamanho</label>
    <select name="tamanhoID">
    <option value="">Escolha  amp;raquo;</option>

    </select></li>
    </ul>

    <ul>
    <li><label>Tamanho Disponível</label>   
    <select name="tamanho_dispoID">
    <option  value="">Escolha  amp;raquo;</option>

    </select></li>
    </ul>

    <ul>
    <li><label>Cor</label>  
    <select name="corID">
    <option value="">Escolha  amp;raquo;</option>

    </select></li>
    </ul>

    <ul>
    <li><label>Material</label> 
    <select name="materialID">
    <option value="">Escolha  amp;raquo;</option>

    </select></li>
    </ul>

</form>





$(function(){



    $("#example").relatedSelects({
        onChangeLoad: 'datasupplier.php',
        loadingMessage: 'Please wait',
        selects: ['categoriaID','tipoID','condicaoID','tamanhoID','tamanho_dispoID',    'corID','materialID']
    });



});
  

 <?php 




$categoriaID = $_GET['categoriaID'];
$tipoID = $_GET['tipoID'];
$condicaoID = $_GET['condicaoID'];
$tamanhoID = $_GET['tamanhoID'];
$tamanho_dispoID = $_GET['tamanho_dispoID'];
$corID = $_GET['corID'];
$materialID = $_GET['materialID'];


$categoria = array();
$categoria['AC'] = "Acessórios";
$categoria['CA'] = "Calçados";
$categoria['RO'] = "Roupas";


$tipo = array();
$tipo['AC']['BOL'] = 'Bolsa';
$tipo['AC']['BRIN'] = 'Brinco';
$tipo['CA']['TEN'] = 'Tenis';
$tipo['RO']['CAM'] = 'Camisa';

$condicao = array();
$condicao['AC']['BOL']['NOV'] = "Novo";
$condicao['AC']['BOL']['USA'] = "Usado";
$condicao['CA']['TEN']['USA'] = "Usado";
$condicao['RO']['CAM']['NOV'] = "Novo";





$tamanho = array();
$tamanho['AC']['BOL']['NOV']['GRAN'] = 'Grande';
$tamanho['AC']['BOL']['USA']['PEQ'] = 'Pequeno';



$tamanho_dispo = array();
$tamanho_dispo['AC']['BOL']['NOV']['PEQ']['P']= "P";
$tamanho_dispo['AC']['BOL']['USA']['PEQ']['M']= 'M';


$cor = array();
$cor['AC']['BOL']['NOV']['PEQ']['M'] ['AZ']= 'Azul';
$cor['AC']['BOL']['USA']['PEQ']['M'] ['VE']= 'Vermelho';


$material = array();
$material['AC']['BOL']['NOV']['PEQ']['M'] ['VE'] ['ALG'] = "Algodão";
$material['AC']['BOL']['USA']['PEQ']['M'] ['VE'] ['FER']= "Ferro";






if($categoriaID amp;amp; !$tipoID amp;amp; !$condicaoID amp;amp; !$tamanhoID amp;amp; !$tamanho_dispoID amp;amp; !$corID amp;amp; !$materialID ){


    echo json_encode( $tipo[$categoriaID] );

    } 

    elseif( $categoriaID amp;amp; $tipoID amp;amp; !$condicaoID amp;amp; !$tamanhoID amp;amp; !$tamanho_dispoID amp;amp; !$corID amp;amp; !$materialID  ) {


    echo json_encode( $condicao[$tipoID][$categoriaID] );

} 





else {
    echo '{}';
}




?>
  

Комментарии:

1. Я думаю, вам нужно заполнить остальную часть datasupplier.php файл, он переходит только на второй уровень. остальное повторяется '{}' .

2. Луи, да, но я думаю, проблема в том, что php-скрипт возвращает данные в режиме json, поэтому я думаю, что это больше связано с самим json, нет?

Ответ №1:

$condicao[$tipoID][$categoriaID]

должно быть

$condicao[$categoriaID][$tipoID]

Комментарии:

1. Никогда не бывает идеальным! большое спасибо, никогда больше не задавайте вопросов, почему так должно быть?

2. er… потому что именно так вы настраиваете свой массив