Jump to content
  • 0

Педедача данных в js из строки таблицы


Павел Иванов
 Share

Question

Доброго времени суток, уважаемые!

ни как не могу решить одну, казалось бы, даже не проблему.

Есть динамически создаваемая таблица с данными из MySQL и в конце каждой строки необходимо установить кнопку, "Просмотреть информацию",

код:

<table>

<?php

while ($Tab = mysql_fetch_array($ResOtd)){

$name = $Tab['name_otd'];

$addr = $Tab['address_otd'];

$email = $Tab['email'];

$IdOtd = $Tab['id_otd'];

echo '<TR>

<td>'.$name.'</TD><TD>'.$addr.'</TD><TD>'.$email.'</td>

<td align="center">

<form method="POST" id="myform">

<input type="hidden" value="'.$IdOtd.'" id="IdOtd" name="IdOtd"></td>

<td><input type="button" onclick="javascript:ViewOtdel();" class="ViewButton">

</form>

</td>

</TR>';

}

echo '</tbody>

</TABLE>';

?>

чтобы проверить работу данного кода создал функцию:

function ViewOtdel(){

var id_otd = $('#IdOtd').val();

window.alert(id_otd); }

По идеи должно выходить сообщение с индексом строки, однако выходит сообщение с цифрой 1, в какой строке я бы не нажал кнопку.

укажите пожалуйста, в каком месте я ошибся.

Спасибо.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

<input type="hidden" value="'.$IdOtd.'" id="IdOtd" name="IdOtd"></td>

Что получается, что на странице несколько инпутов с одинаковыми ID, которые в принципе должны быть уникальными? Поэтому скрипт берет всегда первый ид, что он нашел на странице с этим именем...

Link to comment
Share on other sites

  • 0

Спасибо, ваш пример очень помог, хотя нужно будет еще разобраться в нем.

Что получается, что на странице несколько инпутов с одинаковыми ID, которые в принципе должны быть уникальными? Поэтому скрипт берет всегда первый ид, что он нашел на странице с этим именем...

я полагал, что при генерации таблицы, на каждой новой строке генерируется и <form...> с какими то локальными значениями, в том числе и id, по этому в пределах формы они уникальны. От этого и плясал.

В дальнейшем, планировалось работать с таблицами, где будет необходимо вставлять по несколько кнопок в каждой строке.

еще бы убрать табличную верстку!

Не совсем понял, что имелось в виду?

Спасибо!

Link to comment
Share on other sites

  • 0

Про табличную верстку я имела в виду все тоже самое, но не в таблице, а в div. Хотя я не вижу полный код, может тут и таблица нужна, так что не обращайте на этот совет внимания.

А скрипт очень простой, думаю прежде всего смутила строка:

var num = $(this).parent().prev().children().children("[type=hidden]").val();

В ней мы перемещаемся по дереву DOM из текущего элемента, которым является кнопка к скрытому инпуту с помощью jquery. Сначала идем к родителю (<td>), потом к элементу, что находится левее(.prev()) него в дереве - рядом лежащий <td>, дальше мы получаем потомки этого элемента через children (<form>) и в ней мы опять получаем потомка со значением [type=hidden] - то есть получаем наше скрытое поле. И лишь затем достаем из него значение.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Shoker2
      Вот мой код:
      <table class="down_table_main" bgcolor="#F7F7F7">     <tr>         <td><button class="down_button_main">Подробнее</button></td>     </tr> </table> Почему-то когда я использую align, ничего не происходит. А в другом коде align работает.
      <table border="0" bgcolor="white" width="800px">     <tr align="center">         <td>             <br>             <img src="https://ru-minecraft.ru/uploads/posts/2018-03/medium/1522109759_cosmicnpcs.jpg" alt="">             <h3>Мод <b>CosmicNPCs</b> - создайте второго игрока и запишите, что он будет делать.</h3>             <p>Интересный мод который позволит снимать ролики без участия других игроков, вы сможете записать свои движения и действия, а потом воспроизвести с произвольным скином, таким образом для записи каких то прикольных моментов вам не нужен второй игрок.</p>         </td>     </tr> </table>  
    • By Tanya2021
      Не могу закруглить углы у background-color. В чем проблема? 



    • By Xandr555
      Добрый вечер! Подскажите.. Не работает форма, заполнил поля php mail, некоторые синтаксисы не знаю. Код ниже. Скрипт пробовал в хеде и в выложенной вариации, не идет сообщение. Заранее спасибо.
      <!DOCTYPE html> <html> <head> <title>index.html</title> <meta charset="utf-8"/> </head> <body> <form class="form-horizontal" target="_blank" method="post" id="form" enctype="multipart/form-data"> <div class="form-group"> <label class="col-sm-2 control-label">Ф.И.О.:</label> <div class="col-sm-10"> <input class="form-control" type="text" name="name" placeholder="Имя" required /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Телефон:</label> <div class="col-sm-10"> <input class="form-control" type="text" name="number" pattern="^[0-9]{11}$" placeholder="Телефон" required /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Эл. почта:</label> <div class="col-sm-10"> <input class="form-control" type="email" name="email" placeholder="E-mail" required /> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <textarea class="form-control" rows="3" name="message" placeholder="Ваше сообщение" required></textarea> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button class="btn btn-default">Отправить</button> <label class="sucsses">СООБЩЕНИЕ ОТПРАВЛЕНО</label> </div> </div> </form> <script> $("#form").submit(function() { $.ajax({ type: "POST", url: "http://mysite.ru/mail9.php", data: $(this).serialize() }).done(function() { $(this).find("input").val(""); $(".sucsses").fadeIn("1500"); setTimeout(function() { $(".sucsses").fadeOut("1500"); }, 2500); $("#form").trigger("reset"); }); return false; }); </script> </body> </html> <!DOCTYPE html> <html> <head> <title>mail9</title> <meta charset="utf-8"/> </head> <body> <?php $recepient = "mymail@mail.ru"; $name = trim($_POST["name"]); $number = trim($_POST["number"]); $email = trim($_POST["email"]); $message = trim($_POST["message"]); $message = "Имя: $name \nТелефон: $number \nЕmail: $email \nСообщение: $message"; $headers = 'Content-type: text/plain; charset="utf-8"'; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "From: mymail@mail.ru\r\n"; $headers .= "Reply-To: mymail@mail.ru\r\n"; $pagetitle = "Сообщение с АЛЬЯНС-сайта"; mail($recepient, $pagetitle, $message, $headers); ?> </body> </html>  
    • By prooofik
      Добрый день, я новичок как на форуме, так и в верстке. Вопрос такой. Делаю таблицу с прицелом на мобильные устройства. Рабочее окно сайта шириной 800px и все таблицы я делал шириной строго 800px через тег <table> раньше было вот так: <table cellpadding="5" cellspacing="0" border="1" width="800px"> и таблицы все выглядели красиво и одинаково., но в мобильной версии они так же были 800 пикселей и их просмотреть было нереально. В общем в css файле добавил класс
      .table_overfloated { overflow-x: scroll; display: block; border-collapse: collapse; } .table_overfloated tr { border 1px solid; min-width: 800px; } .table_overfloated td {border: 1px solid; }  
      Применил его к тегу <table>  и теперь таблица на мобильнике прокручивается пальцем влево вправо, однако на сайте ширина таблицы делается соответственно контенту. И если одна таблица на странице еще более менее выглядит, то если их две и более то все они получаются разной ширины и выглядит это некрасиво.. Подскажите как сделать, чтобы таблицы все были шириной 800px, но на мобильной версии сайта их можно было пролистывать. Надеюсь понятно написал.:(
       

    • By Serhii
      Помогите решить проблему, не могу в ячейке td с помощью float разместить 2 блока <p> внутри которых картинка заголовок и абзац, один <p> стает нормально второй не хочет. как это возможно решить?  
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy