Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12

Передается только одно первое значение

10.08.2015, 10:22. Показов 1647. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! У меня есть скрипт который выводит список файлов с названием и ajax который передает путь до файла для открытия, у меня почему то передается только самый первый при клике на любой из названий:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
switch($object){
                case "colleg.html":echo "Редактировать Коллеги" ; break;
                case "fallout.html":echo "Редактировать Fall Out"; break;
                case "lets_fail.html":echo "Редактировать Летс Фейл"; break;
                case "mass_effect.html":echo "Редактировать Масс Эффект 2"; break;
                case "opis.html":echo "Редактировать Новости"; break;
                case "podpison.html":echo "Редактировать Творения подписчиков "; break;
                case "lets_fail.html":echo "Редактировать Новости Лест-Фейл"; break;
                case "stream.html":echo "Редактировать Стримы"; break;
                case "video.html":echo "Редактировать Всякие видео"; break;
                };
            echo "</a></td><td><input type='text' id='hidden' value='$obj'>".date("F d  H:i:s.",filemtime($obj))."</td></tr>";
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function(){
    $('#go').click(function(){
        var name = $('#hidden').val();
    $.ajax({
        method: 'POST',
        url: 'open.php',
        data: {
            filename: name
        },
        success: function(data){
            $('#result').html(data);
        }
        });
    });
});
при клике на любую из ссылок, передается только первое значение, почему так? как динамически присваивать значения полю?
Спасибо
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2015, 10:22
Ответы с готовыми решениями:

Из бд в значение передается только первое слов
Написал небольшой код, проблема в том, что в переменную сохраняется только првое слово... Как с этим бороться?! Вот код: &lt;? ...

Два окна и одно значение MFC: Как передать строку в первое окно?
Доброе время суток! Не могу понять и разобраться. Есть дав диалоговых окна. На первом окне есть кнопка, по нажатию которой открывается...

Вывести только одно значение y и p
что я делаю не так чтобы выводило только одно значение y и p ?????? Помогите пожалуйста! Program num1; Uses crt; Var ...

11
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
10.08.2015, 12:09
brain-4-me, какое первое значение? "Редактировать Коллеги"? если да, то это означает лишь то что вы всегда передаете "colleg.html". почему всегда передается только это значение, по предоставленному коду сказать нельзя
1
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
10.08.2015, 12:17  [ТС]
whiteapps, передается значение из поля #hidden
PHP
1
<input type='text' id='hidden' value='$obj'>"
, я немного неправильно наверно скопировал код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (is_dir($dir)) {
  foreach(glob($dir.'*') as $obj)
            if (filetype($obj)== file){
            echo "<tr><td><a>"; 
            $object = basename($obj);
            switch($object){
                case "colleg.html":echo "Редактировать Коллеги" ; break;
                case "fallout.html":echo "Редактировать Fall Out"; break;
                case "lets_fail.html":echo "Редактировать Летс Фейл"; break;
                case "mass_effect.html":echo "Редактировать Масс Эффект 2"; break;
                case "opis.html":echo "Редактировать Новости"; break;
                case "podpison.html":echo "Редактировать Творения подписчиков "; break;
                case "lets_fail.html":echo "Редактировать Новости Лест-Фейл"; break;
                case "stream.html":echo "Редактировать Стримы"; break;
                case "video.html":echo "Редактировать Всякие видео"; break;
                };
            echo "</a></td><td><input type='text' id='hidden' value='$obj'>".date("F d  H:i:s.",filemtime($obj))."</td></tr>";
вот так, когда ставлю в <input type='text' id='hidden' value='$obj'> тип не скрытый а текст, то пути отображаются нормально, но все равно передается только путь ../site/site/colleg.html
0
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
10.08.2015, 12:33
Лучший ответ Сообщение было отмечено brain-4-me как решение

Решение

brain-4-me, потому что вы создаете много скрытых полей с id hidden
но на странице не может быть несколько элементов с одним и тем же id
поэтому когда вы вызываете $('#hidden').val(), он берет только самый первый элемент
за место id используйте классы

Добавлено через 2 минуты
brain-4-me, кроме того, в этом месте
JavaScript
1
2
$('#go').click(function(){
        var name = $('#hidden').val();
у вас не ясно по какому признаку должно выбираться скрытое поле
1
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
10.08.2015, 12:43  [ТС]
whiteapps, блин, спасибо огромное! знаю ведь правило что id может быть только один на странице и забыл..сидел два дня думал! спасибо!

Добавлено через 4 минуты
а еще подскажите, как поставить признак по которому выбирается скрытое поле?

Добавлено через 53 секунды
единственное что приходит на ум, условие..
0
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
10.08.2015, 12:44
brain-4-me, покажите весь код, с элментом #go
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
10.08.2015, 12:48  [ТС]
whiteapps,
HTML5
1
2
3
4
5
6
7
8
9
10
11
<form method="POST" id="go">
<div class="table">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
            <th>Заголовок</th>
            <th>Дата изменения</th>
            <th width="110" class="ac">Удалить/Редактировать</th>
        </tr>
            <?php Files() ?>                            
    </table>
</form>
и тут прикрепляется функция
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Files(){
$dir = "../site/site/"; // Открыть заведомо существующий каталог и начать считывать его содержимое
if (is_dir($dir)) {
  foreach(glob($dir.'*') as $obj)
            if (filetype($obj)== file){
            echo "<tr><td><a>"; 
            $object = basename($obj);
            switch($object){
                case "colleg.html":echo "Редактировать Коллеги" ; break;
                case "fallout.html":echo "Редактировать Fall Out"; break;
                case "lets_fail.html":echo "Редактировать Летс Фейл"; break;
                case "mass_effect.html":echo "Редактировать Масс Эффект 2"; break;
                case "opis.html":echo "Редактировать Новости"; break;
                case "podpison.html":echo "Редактировать Творения подписчиков "; break;
                case "lets_fail.html":echo "Редактировать Новости Лест-Фейл"; break;
                case "stream.html":echo "Редактировать Стримы"; break;
                case "video.html":echo "Редактировать Всякие видео"; break;
                };
            echo "</a></td><td><input type='text' class='hidden' value='$obj'>".date("F d  H:i:s.",filemtime($obj))."</td></tr>";       
            
    }       
}
}
0
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
10.08.2015, 12:52
brain-4-me,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function Files(){
$dir = "../site/site/"; // Открыть заведомо существующий каталог и начать считывать его содержимое
if (is_dir($dir)) {
$id = 1;
  foreach(glob($dir.'*') as $obj)
            if (filetype($obj)== file){
            echo "<tr><td><a data-id='{$id}'>"; 
            $object = basename($obj);
            switch($object){
                case "colleg.html":echo "Редактировать Коллеги" ; break;
                case "fallout.html":echo "Редактировать Fall Out"; break;
                case "lets_fail.html":echo "Редактировать Летс Фейл"; break;
                case "mass_effect.html":echo "Редактировать Масс Эффект 2"; break;
                case "opis.html":echo "Редактировать Новости"; break;
                case "podpison.html":echo "Редактировать Творения подписчиков "; break;
                case "lets_fail.html":echo "Редактировать Новости Лест-Фейл"; break;
                case "stream.html":echo "Редактировать Стримы"; break;
                case "video.html":echo "Редактировать Всякие видео"; break;
                };
            echo "</a></td><td><input type='text' class='hidden-{$id}' value='$obj'>".date("F d  H:i:s.",filemtime($obj))."</td></tr>";       
            $id++;
    }       
}
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function(){
    $('#go a').click(function(){
        var id = $(this).data('id');
        var name = $('.hidden-' + id).val();
    $.ajax({
        method: 'POST',
        url: 'open.php',
        data: {
            filename: name
        },
        success: function(data){
            $('#result').html(data);
        }
        });
    });
});
1
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
10.08.2015, 13:14  [ТС]
whiteapps, спасибо) интересная придумка прицеплять ID к ссылке и передавать его в качестве параметра дополнительного, действительно хороший опыт) спасибо

Добавлено через 19 минут
whiteapps, а еще можно вопросик, вот у меня несколько функций, все один должны выполняться после загрузки DOM, лучше каждой функции писать $(document).ready(function(){}); или можно все под одним написать до )}; которые закрывают эту функцию
0
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
10.08.2015, 13:18
brain-4-me, удобнее писать один $(document).ready
1
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
10.08.2015, 14:35  [ТС]
whiteapps, извините если уже достал) последний вопрос, можно ли ajax-ом передавать два и более значения?
типа так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#sub_text').click(function(){
        var id = $(this).data('id');
        var data = $('#result').val();
        var name = $('.hidden-'+id).val();
    $.ajax({
        method: 'POST',
        url: 'include/save.php',
        data: {
                filename: name,
                text: data
        },
        success: function(data){
            $('#save').html(data);
        }
        });
    });
0
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
10.08.2015, 14:37
brain-4-me, конечно можно
читайте документацию http://api.jquery.com/jquery.ajax/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2015, 14:37
Помогаю со студенческими работами здесь

Если только одно значение
Приветствую, господа! Есть задание, которое звучит вот так &quot;вернуть true, если только одно из чисел А, В и С меньше 50&quot; не то...

ArrayList. Нормально сохраняется только первое значение
Добрый день. Пишу собственное приложение и мне необходимо сохранять некоторые значения по ходу выполнения программы, добавлять или...

Подставляется только первое значение из списка подстановки
при заполнении столбца номер студента таблицы Успеваемость подстановкой подставляется только первое значение списка. в чем дело?

При Select выводит только первое значение
Этот метод должен брать из таблицы user_music_type значение music_type_id с помощью user_id , и по music_type_id(которые мы получили)...

Вывести в цикле только одно значение
Здравствуйте. Переделываю дизайн и застрял на выводе языковых иконок. Вот что имею $lang_go // текущий язык, строка $langs // массив ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru