Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2017, 18:45   #1
mazahaler
Пользователь
 
Регистрация: 25.02.2016
Сообщений: 11
По умолчанию По клику вывести значение в 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, 18:58   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Код:
  $(".MainID").val(data)
ADSoft вне форума Ответить с цитированием
Старый 20.11.2017, 19:00   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

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

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

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

Вот разметка. Сам список формируется внтури <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 в 19:18.
mazahaler вне форума Ответить с цитированием
Старый 20.11.2017, 22:38   #7
mazahaler
Пользователь
 
Регистрация: 25.02.2016
Сообщений: 11
По умолчанию

Теперь у меня другой вопрос:
Почему так работает
Код:
$(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, 02:55   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от 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, 09:37   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


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