Как выбрать кнопку внутри тега привязки, не используя идентификатор?

0

У меня есть страница, в которой кнопки динамически генерируются PHP на основе таблицы MySQL. Каждая кнопка находится внутри метки привязки. Когда щелчок привязывается, он вызывает функцию Javascript, которая выполняет несколько операций.

Для одной из этих операций мне нужно получить значение кнопки и передать ее в качестве параметра. AFAIK, я не могу использовать идентификатор, потому что кнопки динамически генерируются, и их может быть любое число.

Здесь код кнопки/якоря:

<a href="javascript:void(0)"onclick="updateDetails($(this).text(),$(this).closest('li').attr('id'),<SOMETHING HERE TO GET VALUE OF BUTTON>);"><button type="button" class="regbutton" value="'.$row['instance_id'].'">'.$row['DATE'].'</button></a></span>';

Кажется, что функции jQuery, такие как .next() применимы только к наборам элементов типа li а не к двум разнородным типам элементов. Есть идеи?

  • 7
    Вы не можете иметь кнопку внутри якоря в HTML.
  • 0
    ... и это подробно объясняется здесь . Если бы вы смогли, .find (вместо .closest ) должен был бы помочь.
Показать ещё 2 комментария

2 ответа

0

Возможно, это недействительный HTML, но вы можете заставить его работать. Я сделал пример JSFiddle, выбрав элемент кнопки для дочерних элементов i, чтобы получить значение.

<script>
    function updateDetails(a, b, c){
        alert(c);
    }
</script>
<a href="#" onclick="updateDetails($(this).text(),$(this).closest('li').attr('id'), $(this).children('button').val());"><button type="button" class="regbutton" value="test">click</button></a>

Надеюсь, это решение подходит вам :).

Стефан

0

Надеюсь, это хорошо работает, если вы используете JavaScript.

<!DOCTYPE html>
<html>
<head>
<script>
function test()
{
   alert("Hiii");
   var x=document.myForm.click.value;
   alert(x);
}
</script>
</head>
<body>
<form name="myForm" action="html_form_action.asp" method="get">
<a href="#"><input type="button" name="click" value="click" onclick="test()"/></a>
</form>
</body>
</html>
  • 0
    Это даст вам значение кнопки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню