2016-02-25 2 views
0

Я выбрал размеры и количество продуктов из таблицы и показал их в выпадающих списках. В зависимости от продуктов выпадающие списки могут варьироваться от 5 до 6. Я хочу получить значение размера id из раскрывающегося списка, когда пользователь выбирает его из раскрывающегося списка и помещает его как значение в номер типа ввода.PHP MYSQL Несколько выпадающих списков Выберите значение при изменении

<select name='size' id='size' class='form-control'> 

     <option value="1">Small</option> 

    </select> 

<input type='number' name='quantity' min='1' value='1' class='form-control' /> 
<select name='size' id='size' class='form-control'> 

     <option value="2">Large</option> 

    </select> 

<input type='number' name='quantity' min='1' value='1' class='form-control' /> 

<select name='size' id='size' class='form-control'> 

     <option value="3">XLarge</option> 

    </select> 

<input type='number' name='quantity' min='1' value='1' class='form-control' /> 

JQuery Я использую это следующим образ,

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#size").change(function() { 
      var str = ""; 
      $("select option:selected").each(function() { 
       str += $(this).val() + " "; 
      }); 
     }); 
    }); 
</script> 

Я получаю значение формирует первый выпадающий список, но не может получить от других выпадающих. Просьба помочь

+1

Адресная квартира: Вероятно, это потому, что у вас есть несколько 'id =" size ", которые будут работать только в первом экземпляре. 'id' должны быть уникальными. Используйте класс как селектор. – Rasclatt

+0

Спасибо за ваш ответ. Я получаю другие выпадающие списки в цикле с именем и идентификатором как «размер». Большое количество времени, но не пришел к какому-либо заключению ... –

+0

У вас не может быть несколько идентификаторов с тем же именем. Вам нужно использовать класс вместо – Rasclatt

ответ

1

В дискуссии я сделал скрипку, получая раствор Fiddle Link

Обновлены JS:

$(document).ready(function() { 
    $(".size").on("change", function() { 
     $(this).closest("div").find("input").val($(this).val()); 
    }); 
}); 

Если вы хотите, чтобы получить $row['size'] когда выбрать любой вариант, то вы должны изменить свой PHP код также.

Обновлено PHP

<div> 
<select name='size' class='form-control size'> 
    <?php foreach ($rows as $row) {?> 
     <option value="<?php echo $row['size']?>" <?php if ($row['quantity'] == 0) echo "disabled=disabled"?>> 
     <?php echo $row['size']?> 
     </option> 
     <?php }?> 
</select> 
<input type='number' name='quantity' min='1' value='1' class='form-control' /> 
</div> 
<div> 
<select name='size' class='form-control size'> 
    <?php foreach ($rows as $row) {?> 
     <option value="<?php echo $row['size']?>" <?php if ($row['quantity'] == 0) echo "disabled=disabled"?>> 
     <?php echo $row['size']?> 
     </option> 
     <?php }?> 
</select> 
<input type='number' name='quantity' min='1' value='1' class='form-control' /> 
</div> 

Примечание:$(this).val() получить выбранное значение из выпадающего списка и поместить значение в поле ввода, $(input[name=quantity]).val() Я поставил $row['size'] к option value

Сообщите мне, полезно ли это вам или нет.

+0

спасибо за помощь. Он отлично работает в первую очередь.Не работайте с другими выпадающими меню плюс, когда выбрано первое значение выпадающего значения, оно изменяет значение количества для всех других типов ввода, а также –

+0

, сколько у вас блоков выбора в скрипте? –

+0

зависит от продуктов, добавленных. Каждый продукт имеет количество и значение size.Что я хочу получить значение из раскрывающегося списка и добавить его как значение в номере типа ввода. –

0

попробовать это:

<td> 
    <select name='size' id='size' class='form-control'> 
      <?php foreach ($rows as $row) {?> 
      <option value="<?php echo $row['id']?>" <?php if ($row['quantity'] == 0) echo "disabled=disabled"?> > 
       <?php echo $row['size']?> 
      </option> 
      <?php }?> 
     </select> 
</td> 
<td> 
    <input type='number' name='quantity' min='1' value='1' class='form-control' /> 
</td> 
+0

, пожалуйста, добавьте некоторое описание, лучше угадать другое, где вы меняетесь или что вы делаете. –

+0

@FrayneKonok, извините за описание. Я получаю drop down from db, используя loop.Below - номер типа ввода. Я хочу получить значение из события изменения из выпадающего списка и указать максимальное значение в типе ввода. Каждый раз, когда я получаю значения из первого экземпляра, а не из других выпадающих списков. –

+0

@MuhammadMaaz, Здесь я комментирую 'noushid' не вы. –

-1

Ваш выпадающий идентификатор должен быть другим, как вы знаете, идентификатор является уникальным для одного элемента в документе.

Смежные вопросы