Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вставить переменную в name input а (https://javascript.ru/forum/misc/61473-vstavit-peremennuyu-v-name-input.html)

Alex_dark74 19.02.2016 22:50

Вставить переменную в name input а
 
Есть страница в которой с помощью php формируется таблица.
<table class="simple-little-table">
<tr>
<th>min</th>
<th>max</th>
<th>price</th>
</tr>
<script>
number = 0;
</script>
<?php foreach($data['table_price'] as $table_price):?>
<script>
number++;
</script>
<tr>
<td><input name="min_" size="2" value="<?php echo $table_price['min'] ?>" /></td>
<td><input name="max_" size="2" value="<?php echo $table_price['max'] ?>" /></td>
<td><input name="price_" size="2" value="<?php echo $table_price['price'] ?>" /></td>
</tr>
<?php endforeach?>
</table>

Необходимо пронумировать "name" каждого input для дальнейшей передачи.
То есть на выходе необходимо получить:
min_1,max_1,price_1,min_2,max_2,price_2,min_3,max_ 3,price_3 и т.д.

Хочу ввести в java переменную "name" и при каждом цикле увеличивать на 1. Но не могу ее вставить как часть name.
На этом решении установился потому что c помощью JS будут добавляться новые строки и их нужно нумировать.

И так вопрос:
Как мне вставить переменную в <input name="min_переменная" />?

destus 20.02.2016 06:17

Alex_dark74,
а что нельзя составить селектор
input[name^=min_] ; input[name^=max_] input[name^=price_]
и через array.forEach менять атрибут?

laimas 20.02.2016 06:45

Еще бы оно пронумеровывалось вот таким

<script>
number = 0;
</script>


<?php foreach($data['table_price'] as $table_price):?>

<script>
number++;
</script>


Вы можете пояснить логику (если она только может в этом быть) этой хрени? Если уж надо пронумеровать, то переменная number должна быть РНР-шной, а никак не JS принадлежать, который тут как собаке лапа пятая.
В цикле foreach инкремент ее и подстановка в нужно место. А вообще это конечно полная чушь, именовать нужно так:

<td><input name="min[]" value="<?php echo $table_price['min'] ?>" /></td>
<td><input name="max[]" value="<?php echo $table_price['max'] ?>" /></td>
<td><input name="price[]" value="<?php echo $table_price['price'] ?>" /></td>
</tr>


И тогда сервер получить три массива данных с ключами min, max и price. Если эти данные связаны с объектами в базе, значит нужна не нумерация, а идентификаторы этих объектов:

<td><input name="min[112]" value="<?php echo $table_price['min'] ?>" /></td>
<td><input name="max[112]" value="<?php echo $table_price['max'] ?>" /></td>
<td><input name="price[112]" value="<?php echo $table_price['price'] ?>" /></td>
</tr>


где 112 ID объекта текущей записи.


Часовой пояс GMT +3, время: 10:47.