Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.11.2017, 19:45   #1
mazahaler
Пользователь
 
Регистрация: 25.02.2016
Сообщений: 11
Репутация: 10
По умолчанию По клику вывести значение в Input

Здравствуйте, пытаюсь сделать следующее:
Есть список, состоящий из записей БД. По клику на элемент списка нужно получить его `ID` и вывести это `ID` в Input
Пытаюсь сделать так:
JQuery:
Код:

$(function(){
    $("list-group-item node-treeview").click(function(){ //По клику на список
        var Name=$("li.list-group-item node-treeview").text(); //записываем в переменную текст тэга li.list-group-item node-treeview
        $.ajax({
            type:"POST",
            url: "addupdate.php",
            data:{Name:Name},
            success:function(data){
                $(".MainID").html(data); //Результат возвращаем в input с классом "MainID"
            }
        });
    });
});

addupdate.php
Код:

<?php
require_once 'connection.php';
 
if (isset($_POST['Name'])&& !empty($_POST['Name']) ){
    $Name=$_POST['Name'];
    $query =$db->query("SELECT `ID` FROM `db` WHERE `Name`=$Name");
 
    while ($row = $query->fetch()) {
        echo "{$row->Name}";
    }
}else{
    echo "Что-то пошло не так";
}
?>

Но это не работает. Скорее всего что-то не так с JQuery скриптом, потому что по клику не выполняется addupdate.php
Нужна помощь.
mazahaler вне форума   Ответить с цитированием
Старый 20.11.2017, 19:58   #2
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,249
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

Код:

  $(".MainID").val(data)

ADSoft на форуме   Ответить с цитированием
Старый 20.11.2017, 20:00   #3
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,249
Репутация: 912

icq: 303-206-418
skype: ad-soft.info
По умолчанию

ну а вообще, не видя html разметки - трудно догадаться - что вы тут пытаетесь отследить
Код:

$("list-group-item node-treeview

и не ид и не класс.....
поставь внутри обработчика console.log('Yes') или там Alert - и станет ясно - отрабатывает оно или нет
ADSoft на форуме   Ответить с цитированием
Старый 20.11.2017, 20:03   #4
mazahaler
Пользователь
 
Регистрация: 25.02.2016
Сообщений: 11
Репутация: 10
По умолчанию

ADSoft, спасибо, но ничего не изменилось. addupdate.php вообще не выполняется. Тоесть глядя на вкладку "Network" при клике я не вижу чтобы выполнялся addupdate.php
mazahaler вне форума   Ответить с цитированием
Старый 20.11.2017, 20:08   #5
mazahaler
Пользователь
 
Регистрация: 25.02.2016
Сообщений: 11
Репутация: 10
По умолчанию

В консоль console.log('Yes') не выводит.
Цитата:
Сообщение от ADSoft Посмотреть сообщение
и не ид и не класс.....
А как правильно обратиться к классу?Потому что "list-group-item node-treeview" это класс
mazahaler вне форума   Ответить с цитированием
Старый 20.11.2017, 20:15   #6
mazahaler
Пользователь
 
Регистрация: 25.02.2016
Сообщений: 11
Репутация: 10
По умолчанию

Вот разметка. Сам список формируется внтури <div class="treeview" >
Код:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>    
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script type="text/javascript" charset="utf8" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0/bootstrap-treeview.min.js"></script>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0/bootstrap-treeview.min.css" />
<script src="tree.js"></script>
    <script src="addupd.js"></script>
    <script src="getadd.js"></script>
</head>
<body>
<form method="post" action="add.php" class="orgform">
        <p><span>Добавить организацию</span></p>
        <table id="tableaddupdate">
<tr>
<th class="thtree">
        <div class="container" >

            <div id="treeview"></div>
        </div>
</th>
<th>
        <div class="divinput">
        <input type="text" class="MainID" name="MainID_Ref" placeholder="MainID_Ref">
        <input type="text" name="ParentType" placeholder="ParentType">
        <input type="text" name="ObjectType" placeholder="ObjectType">
        <input type="text" name="Name" placeholder="Name">
        <input type="text" name="PrefixKod" placeholder="PrefixKod">
        <input type="text" name="FTPServer" placeholder="FTPServer">
        <input type="text" name="FTPUser" placeholder="FTPUser">
        <input type="text" name="FTPPassword" placeholder="FTPPassword">
        <input type="text" name="FTPPath" placeholder="FTPPath">
        <input type="text" name="JurnalTemplate" placeholder="JurnalTemplate">
        <input type="text" name="UnicStr" placeholder="UnicStr">
        <input type="text" name="SendMessageUser" placeholder="SendMessageUser">
        <input type="text" name="TName" placeholder="TName">
        <input type="text" name="KodODU" placeholder="KodODU">
        <input type="text" name="KodKPO" placeholder="KodKPO">
        <input type="text" name="FTPPort" placeholder="FTPPort">
        <input type="hidden" name="JurnalModification" value="<?php echo date ("Y-m-d H:i:s")?>">
        <br/>
        <br/>
        <button id="btn" class="btnorg" type="submit" name="addOrg" value="">Добавить</button>
        </div >
</th>
</tr>
</table>



</form>
</body>
</html>


Последний раз редактировалось mazahaler; 20.11.2017 в 20:18.
mazahaler вне форума   Ответить с цитированием
Старый 20.11.2017, 23:38   #7
mazahaler
Пользователь
 
Регистрация: 25.02.2016
Сообщений: 11
Репутация: 10
По умолчанию

Теперь у меня другой вопрос:
Почему так работает
Код:

$(function(){
    $("#treeview").on('mouseover','.list-group-item', function () {
        var Name=$(event.target).text();        
        console.log(Name);
        $.ajax({
            type:"POST",
            url: "addupdate.php",
            data:{Name:Name},
            success:function(data){
                $(".MainID").val(data); 
            }
        });
    });
});

А так нет
Код:

$(function(){
    $("#treeview").on('click','.list-group-item', function () {
        var Name=$(event.target).text();        
        console.log(Name);
        $.ajax({
            type:"POST",
            url: "addupdate.php",
            data:{Name:Name},
            success:function(data){
                $(".MainID").val(data); 
            }
        });
    });
});

И как сделать чтобы работало?
mazahaler вне форума   Ответить с цитированием
Старый 21.11.2017, 03:55   #8
Andkorol
Профессионал
 
Регистрация: 31.05.2010
Сообщений: 3,290
Репутация: 1064
По умолчанию

Цитата:
Сообщение от mazahaler Посмотреть сообщение
$("list-group-item node-treeview").click(function(){ //По клику на список
var Name=$("li.list-group-item node-treeview").text();
Это не работало скорее всего потому, что селекторы указаны неверно.
Должно быть ".list-group-item .node-treeview" (или даже ".list-group-item > .node-treeview" если прямой потомок).
Ну и "li.list-group-item .node-treeview" соответственно.
Если это классы одного элемента (одного уровня) – то ".list-group-item.node-treeview"
Без этих точек для jQuery всё это не селекторы – а просто набор забавных слов.

Цитата:
Сообщение от mazahaler Посмотреть сообщение
А так нет
Кода самого списка нет – поэтому трудно сказать, по какому именно элементу отрабатывает клик сам по себе.
mouseover срабатывает на общую область – а click на конкретный элемент.
Нужен код самого списка, который должен обрабатываться – а не код того, что расположено вокруг него.
Ну и что действительно непонятно – так это с какого боку здесь PHP?
Andkorol вне форума   Ответить с цитированием
Старый 21.11.2017, 10:37   #9
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,375
Репутация: 5308
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
так это с какого боку здесь PHP?
перенёс в раздел JavaScript
Serge_Bliznykov на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задать начальное значение у input Наталья Баева HTML и CSS 3 27.12.2016 23:40
Как вывести иконку в input? Женя32 HTML и CSS 0 01.10.2016 12:58
Одно значение на несколько input L6go1as HTML и CSS 4 27.03.2015 14:39


12:37.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru