Синтаксис jQuery, проблема без определенного идентификатора

#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>";