Как я могу отобразить значение в каждом текстовом поле в l oop, что значение основано на значении, выбранном в его выпадающем списке? - PullRequest
0 голосов
/ 26 апреля 2020

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

<?php
require_once('connection.php');
for($counter=0;$counter<=1;$counter++)
{
$queItem= mysqli_query($connect,"select * from oitm");
echo"<select name=\"segment_id\" class=\"form-control\" id=\"segment_id\" STYLE=\"width: 300px\" >";
echo"<option value=\"\" selected=\"selected\">Select a product</option>";

            while($rowStockIn = mysqli_fetch_array($queItem))
            {
            $ItemCode2=$rowStockIn['ItemCode'];
            $ItemName2=$rowStockIn['ItemName'];
            $ItemPrice2=$rowStockIn['ItemPrice'];

            echo "<option value=\"$ItemCode2\" data-itemprice = \"$ItemPrice2\">
        $ItemCode2 $ItemName2";
            }
echo"</select>";
?>
</span>
<?php   
echo"<input id=\"title\" name=\"title\" type=\"text\" value=\"$ItemPrice2\"
><br/>";
}
?>





        <script>
$(document).ready(function(){
    $("#segment_id").on('change', function () {
        var id = $(this).val(); 
        var itemprice = $('option:selected',this).data('itemprice');
        $("#title").val(itemprice);
    });
});
        </script>

Я думаю, что мне нужно отредактировать jQuery, чтобы позволить каждой строке работать

Пожалуйста, кто угодно может помочь мне

1 Ответ

0 голосов
/ 26 апреля 2020

Хорошо, хорошо, если вы используете поле со списком, то очевидно, что пользователь должен иметь возможность выбрать более одной опции. Ваша первая проблема в том, что $ itemCode2 в вашем while l oop - это просто переменная, а не массив. Поэтому, как вы описали в своей проблеме, вы получите только одно значение, потому что оно будет перезаписываться каждый раз в l oop.

Сделать $ itemCode2 массивом, например:

$itemCode2[] = $rowStockin['itemCode']

Тогда вы сможете выводить различные параметры, которые может выбрать пользователь.

Также будьте осторожны, используя select * в своих запросах. Попробуйте указать c в выбранных вами столбцах. select * может оставить ваш скрипт уязвимым для атаки sql.

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