Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2014, 00:00
Новичок на форуме
Отправить личное сообщение для Kloniy Посмотреть профиль Найти все сообщения от Kloniy
 
Регистрация: 20.10.2014
Сообщений: 1

Получение значения
<script type="text/javascript">
        $(document).ready( function() {
            // обрабатываем событие нажатия на любую из ссылок
            
                        
            // обрабатываем событие нажатия на кнопку "Сохранить изменения""
            $('input[name=addArticle]').click( function () {
               
                
                var s_id = $(this).attr("id");
 
                var nan = $("#nan").text();
                var datas = $("#datas").text();
                
                var names = $("#names").text();
                
                
                
 
                $.ajax({
                    type: "POST",
                   
                    url: "http://localhost/zzzzz/addArticle.php",
                    data: "s_id=" + s_id
                    + "&names=" + names
                    + "&nan=" + nan
                    + "&datas=" + datas,
 
                   
                    success: function(response) {
                        if(response == "OK")
                        {
                            alert("Запись " + names + " добавлена!");
                            location.reload();
                        }
                        else
                            alert("Ошибка в запросе!);
                    }
                });
    
                
            });
        });
        </script>

Из БД выводится список

$connect = mysql_connect("localhost", ".....", ".....");
            mysql_select_db("textx",$connect);
            $qr_result = mysql_query("select * from ttttex");
            
            echo '<table border="1">';
            echo '<thead>';
            echo '<tr>';
            echo '<th></th>';
            echo '<th>Название</th>';
            echo '<th>Сумма</th>';
            echo '<th>Длительность</th>';
            echo '<th></th>';
            echo '</tr>';
            echo '</thead>';
            echo '<tbody>';
            
            while ($data = mysql_fetch_array($qr_result)){
                echo '<tr>';
                echo '<td><span ><img border=0 src='.$data['img'].'></span></td>';
                echo '<td><span id="names" >' .$data['name'] . '</span></td>';
                echo '<td><span id="sum">'.$data['summa'] . '</span></td>';
                echo '<td><span id="datas">' .$data['date_s'] . '</span></td>';
                echo '<td><input type="button" id='.$data['id'].' name="addArticle" value="Подписать"></td>'; 
                
                
                echo '</tr>';
            }
            echo '</tbody>';
            echo '</table>';


Как получить эти три переменные, для выбранной записи?

var nan = $("#nan").text();
                var datas = $("#datas").text();
                
                var names = $("#names").text();

В маем варианте в переменные nan, datas, names попадают первые первые значения из списка, а надо чтобы попадали соответствующие выборному элементу из списка
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2014, 00:17
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Kloniy
while ...<span id="names" >
Опаньки. Нарушаем?

http://htmlbook.ru/html/attr/id :
Цитата:
Идентификатор в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз.
Если пренебрегаешь такими правилами, как можешь рассчитывать на адекватную работу скрипта? Замени id на классы. Но дело не только в этом.

Добавь код:
var row = $(this).closest('tr');

И далее уже используй $('.names', row).text() и тп
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2014, 00:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Kloniy,
а id сделать разные не судьба?
по клику найти ближайшую строку и по ней делать выборку
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2014, 00:39
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

И я дам совет. Переходи на PDO сразу.
И не стоит писать 10 раз echo
Это безграмотно
$html = 'a';
$html .= 'b';
$html .= 'c';
echo $html;

И да с echo прекрасно работает запятая
так что можно и так, это лучше чем конкатенация(сложение), быстрее
echo 'a', 'b', 'c';
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2014, 00:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вообще писать html в php-строках - это безграмотно ))

Вот в моем понимании читаемый код:
<?

$connect = mysql_connect("localhost", ".....", ".....");
mysql_select_db("textx",$connect);
$qr_result = mysql_query("select * from ttttex");

?>

<table border="1">
<thead>
    <tr>
        <th></th>
        <th>Название</th>
        <th>Сумма</th>
        <th>Длительность</th>
        <th></th>
    </tr>
</thead>
<tbody>
<? while ($data = mysql_fetch_array($qr_result)){ ?>
    <tr>
        <td><span ><img border=0 src="<?= $data['img'] ?>"></span></td>
        <td><span id="names"><?= $data['name'] ?></span></td>
        <td><span id="sum"><?= $data['summa'] ?></span></td>
        <td><span id="datas"><?= $data['date_s'] ?></span></td>
        <td><input type="button" id="<?= $data['id'] ?>" name="addArticle" value="Подписать"></td>
    </tr>
<? } ?>
</tbody>
</table>


Еще лучше вынести HTML в отдельный файл, и инклюдить его, предварительно подготовив массив данных.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2014, 00:52
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от danik.js
<table border="1">
Вот тут этот атрибут в тему.
Сообщение от danik.js
<img border=0
А тут - уже нафиг не нужен.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2014, 01:03
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Цитата:
Вот в моем понимании читаемый код
увы это не так здесь спутан код модели и представления если брать идеологию MVC
а по сути код для работы с базой данных нужно вынести в отдельный класс
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2014, 04:32
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Poznakomlus,
Сообщение от danik.js
Еще лучше вынести HTML в отдельный файл, и инклюдить его, предварительно подготовив массив данных.
Но код не особо то и спутан. Он даже визуально отделен. Иногда незачем городить "ЭмьВиСи", если не планируется расширение сайта.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение значения uchenik111 Events/DOM/Window 1 28.05.2014 18:02
Получение вычисленного значения css свойства FanAizu jQuery 2 12.03.2014 20:30
получение значения поля eidicon jQuery 4 02.07.2012 19:06
получение значения css-свойств demoniqus Общие вопросы Javascript 0 12.02.2012 12:27
получение значения из классов karmis Events/DOM/Window 1 14.10.2011 19:09