sql >> Databáze >  >> RDS >> Mysql

Změna hodnoty vstupního pole, když uživatel vybere možnost z výběrového pole

Problém není s vaším požadavkem ajax, ale s selektory jquery, které používáte. V jquery $('.value') znamená všechny prvky DOM s třídou "hodnota". Tedy $(".price") vybere VŠECHNY prvky s třídou "cena", ale žádný z nich nevidím. Chcete-li vybrat něco podle názvu, musíte použít $('input[name=price]') . Tím vyberete všechny vstupy s názvem "cena". Chcete-li vybrat všechny vstupy, jejichž název začíná cenou, použijte $('input[name^=price]') . Řešením vašeho problému je pravděpodobně vložit prvek SELECT a INPUT do kontejneru a vybrat pouze odpovídající INPUT.

<div>
    <select name='pro_name[]'>
    <option value='1'>Pro 1</option>
    <option value='2'>Pro 2</option>
    <option value='3'>Pro 3</option>
    </select>

    <input type='text' name='price[]'>
</div>
<div>
    <select name='pro_name[]'>
    <option value='1'>Pro 1</option>
    <option value='2'>Pro 2</option>
    <option value='3'>Pro 3</option>
    </select>

    <input type='text' name='price[]'>
</div>

<script type="text/javascript">
    var $last_select = null;
    $(document).ready(function(){
        $("select[name^=pro_name]").change(function(){
            $last_select = $(this);
            var id=$(this).val();
            var dataString = 'id='+ id;
            $.ajax
            ({
                type: "POST",
                url: "get_price.php",
                data: dataString,
                cache: false,
                success: function(html)
                    {
                        $('input[name^=price]', $last_select.parent()).val(html);
                    } 
            });
        });
    });
</script>

Fiddle:http://jsfiddle.net/8rsxay8q/1/




  1. Získejte velikost všech tabulek v databázi

  2. Najděte minimální nepoužitou hodnotu v tabulce mysql

  3. generovat prázdné řádky, i když jsou prázdné mezi 2 daty

  4. Laravel vnořené vztahy