Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2023, 14:58
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Значение input radio на кнопки
Добрый день

Помогите пожалуйста реализовать такую штуку. Есть список с радио-переключателями. Есть две кнопки «Удалить» и «Открыть». Нужно, чтобы при выборе элемента списка с радио-переключателем в кнопки передавалось вот такое /delite/1, /delite/2, /delite/3 etc и /open/1, то есть передаваться должно только id (т. е. цифра после последнего слэша).

Список выводится динамически, через цикл, id присваивается, понятное дело, так же. Нужно передать значение value="<?= $data['id'] ?>".

Как такое можно сделать? Я знаю, что javascript почти всемогущ, но я в нём не бум-бум, а на php видимо такого не нарисуешь

Вот мой код:

<?php foreach ($list as $val): ?>
	<tr>
		<input type="radio" id="<?= $val['id'] ?>" name="plant" value="<?= $val['id'] ?>" />
		<label for="<?= $val['id'] ?>">
			<td><?= $val['subfamilia'] ?></td>
			<td><?= $val['number'] ?></td>
			<td><?= $val['taxon'] ?></td>
		</label>
	</tr>
<?php endforeach ?>

<input type="submit" name="delete" value="Удалить" />
<input type="submit" name="open" value="Открыть" />

Последний раз редактировалось Chile, 26.05.2023 в 15:35.
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2023, 15:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2023, 15:29
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Сообщение от рони Посмотреть сообщение
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Прошу прощения, вот, посмотрите, отредактировал.
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2023, 16:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Chile
вот, посмотрите,
не могу, ваше описание и код слишком расплывчаты.
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2023, 16:43
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

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

Есть список, точнее строки таблицы, каждая из которой представляют собой комбинацию input radio и label. У каждой строки в input, есть value с уникальным id. Строки кликабельны. При клике на одну из строк, значение value должно передаваться на обе кнопки (button, input type=button, submit или что там допустимо использовать). В результате, одна из кнопок должна направлять на url — /delete/(выбранный id), а другая на url — /open/(выбранный id). Только не get-ом, т. к. оно добавит ненужного в url. Ну вот так
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2023, 09:54
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

У <tr> дочерними могут быть только <td> или <th> (но не input и label)
<td> может быть дочерним только у <tr> (но не у label)
Ответить с цитированием
  #7 (permalink)  
Старый 27.05.2023, 16:16
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Сообщение от voraa Посмотреть сообщение
У <tr> дочерними могут быть только <td> или <th> (но не input и label)
<td> может быть дочерним только у <tr> (но не у label)
Да, но на сервере всё работает и на выходе XHTML 1.1 без вывода ошибок
Ответить с цитированием
  #8 (permalink)  
Старый 27.05.2023, 16:25
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Сообщение от Chile
Да, но на сервере всё работает и на выходе XHTML 1.1 без вывода ошибок
Дело не в сервере - ему без разницы какой код выводить, а в браузере. Как он такой html код воспримет, какое DOM дерево построит, и возможно ли с ним будет работать.

Вот как это будет выглядеть
<body>
<table>
    <tr>
        <input type="radio" id="val1" name="plant" value="1" />
        <label for="val1">
            <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>
        </label>
    </tr>
    <tr>
        <input type="radio" id="val2" name="plant" value="2" />
        <label for="val2">
            <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>
        </label>
    </tr>
</table>
</body>

Браузер воспринял это как
<body>
<input type="radio" id="val1" name="plant" value="1">
	<label for="val1">
    </label>
    <input type="radio" id="val2" name="plant" value="2">
    <label for="val1">
    </label>
<table>
<tbody>
    <tr>     
        <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>     
    </tr>
    <tr>       
        <td>subfamilia</td>
        <td>number</td>
        <td>taxon</td>       
    </tr>
</tbody>
</table>
</body>


А в XHTML 1.1 вообще не было элемента <label>
XHTML вообще уже мертвый язык. Поэтому сейчас можно (нужно) писать на HTML
<input type="radio" id="val1" name="plant" value="1"> без "/" в конце. Браузеры просто игнорируют это слеш.

Последний раз редактировалось voraa, 27.05.2023 в 17:01.
Ответить с цитированием
  #9 (permalink)  
Старый 27.05.2023, 19:25
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Сообщение от voraa Посмотреть сообщение
Дело не в сервере - ему без разницы какой код выводить, а в браузере. Как он такой html код воспримет, какое DOM дерево построит, и возможно ли с ним будет работать.

Вот как это будет выглядеть
<body>
<table>
    <tr>
        <input type="radio" id="val1" name="plant" value="1" />
        <label for="val1">
            <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>
        </label>
    </tr>
    <tr>
        <input type="radio" id="val2" name="plant" value="2" />
        <label for="val2">
            <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>
        </label>
    </tr>
</table>
</body>

Браузер воспринял это как
<body>
<input type="radio" id="val1" name="plant" value="1">
	<label for="val1">
    </label>
    <input type="radio" id="val2" name="plant" value="2">
    <label for="val1">
    </label>
<table>
<tbody>
    <tr>     
        <td>subfamilia</td>
            <td>number</td>
            <td>taxon</td>     
    </tr>
    <tr>       
        <td>subfamilia</td>
        <td>number</td>
        <td>taxon</td>       
    </tr>
</tbody>
</table>
</body>


А в XHTML 1.1 вообще не было элемента <label>
XHTML вообще уже мертвый язык. Поэтому сейчас можно (нужно) писать на HTML
<input type="radio" id="val1" name="plant" value="1"> без "/" в конце. Браузеры просто игнорируют это слеш.
А вы знаете, действительно, браузер выталкивал это всё из td: и input и label были вне table. Но когда я указал <?php header('Content-type: application/xhtml+xml'); ?>, то у него открылось новое видение и всё выводилось как запланировано

Это наверное костыль, но работает же…)
Ответить с цитированием
  #10 (permalink)  
Старый 27.05.2023, 19:54
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Сообщение от Chile
то у него открылось новое видение и всё выводилось как запланировано
Верится с трудом. в xhtml те же правила для таблиц, что и для html
+ в XHTML теги должны быть большими буквами

Последний раз редактировалось voraa, 27.05.2023 в 19:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать значение input radio в другой input alex-tiesto jQuery 12 17.03.2017 03:12
Передать значение input radio в другой input alex-tiesto Элементы интерфейса 0 14.03.2017 21:36
Содержимое Input radio созданный с помощью Javascript не видно в браузере Daulet3d Общие вопросы Javascript 2 01.05.2016 06:04
input radio и input text tart Элементы интерфейса 4 26.01.2015 19:14
Скрипт, увеличивающий значение input фонарик Общие вопросы Javascript 6 16.10.2013 20:00