У меня есть страница, в которой кнопки динамически генерируются 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
а не к двум разнородным типам элементов. Есть идеи?
Возможно, это недействительный 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>
Надеюсь, это решение подходит вам :).
Стефан
Надеюсь, это хорошо работает, если вы используете 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>
.find
(вместо.closest
) должен был бы помочь.