#javascript #php #jquery
#javascript #php #jquery
Вопрос:
Я застрял с проблемой синтаксиса в Javascript. Это так, я повторяю некоторые PHP и получаю разные идентификаторы из БД. Это мое PHP-эхо…
echo "<input type='text' id='form_id_" . $gr_display['id'] . "' />";
И он выводит, например
<input type='text' id='form_id_X' />
И когда я нажимаю кнопку, я запускаю этот JS-код, и мой вопрос в том, как написать этот код, чтобы я получал идентификатор X?
var id=$("#form_id_").val();
HTML
echo "<form id='edit_form' method='post' action=''>";
echo "<input type='text' id='form_id_" . $gr_display['id'] . "' />";
echo "<input placeholder='New info here' type='text' id='newinfo' name='newinfo'/>";
echo "<input type='button' id='edit_btn'> Button </input>";
echo "</form>";
Комментарии:
1.
$('[id^="form_id_"]')
или используйте класс =)2. для вас будет работать селектор подстановочных знаков jquery, см. Пример ниже $(«[id^=form_id_]»).click(function() { //do stuff });
3. Если я пытаюсь определить мою переменную таким
var id = $('[id^="form_id_"]');
образом, я просто получаю это[input#form_id_99, input#form_id_94, input#form_id_89, prevObject: n.fn.init[1], context: document, selector: "[id^="form_id_"]" in my consol
4. Также не помогает с классами. Пробуем их как на кнопке, так и на входе с идентификатором.
Ответ №1:
Если вы хотите получить идентификатор по щелчку (не уверен, что это то, что вы хотите):
php:
echo "<form id='edit_form' method='post' action=''>";
echo "<input type='text' class='myInput' id='form_id_" . $gr_display['id'] . "' />";
echo "<input placeholder='New info here' type='text' id='newinfo' name='newinfo'/>";
echo "<input type='button' id='edit_btn'> Button </input>";
echo "</form>";
js:
$("#edit_btn").on("click",function(){
var id = $(this).prevAll(".myInput").attr("id");
//or
id = $(this).prevAll("[id^='form_id_']").attr("id");
//or
id= $(this).parent().children(".myInput").attr("id");
//or if there is only one occurence of .myInput
id=$(".myInput").attr("id");
//or if there is only one occurence of [id^='form_id_']
id = $("[id^='form_id_']").attr("id");
});
Комментарии:
1. Этот пример дает мне идентификатор кнопки. Я хочу этот
id='form_id_" . $gr_display['id'] . "'
идентификатор.2. тогда, пожалуйста, укажите свой html, потому что я не могу понять без контекста.
3.
<div class="col l6 s12" id="room_list"> <h5> List rooms </h5> <div id="list_room"> </div> <!-- PHP output --> </div> </div>
echo «<идентификатор формы =’edit_form’ метод =’post’ действие =»>»; echo «<тип ввода =’текст’ идентификатор =’form_id_» . $ gr_display[‘id’] . «‘ />»;echo "<input placeholder='New info here' type='text' id='newinfo' name='newinfo'/>"; echo "<input type='button' id='edit_btn'> Button </input>"; echo "</form>";