Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Замена текста в документе (https://javascript.ru/forum/jquery/64424-zamena-teksta-v-dokumente.html)

berluskuni 10.08.2016 13:34

Замена текста в документе
 
Ув. Гуру
подскажите что не так делается!
<div class="row add_todo">
    <span class="task_id">0</span>
        <div class="col-lg-4 col-md-4"></div>
        <div class="col-lg-4 col-md-4 todo">
            <div class="col-md-2" id="plus"><span class="glyphicon glyphicon-plus"></span></div>
            <div class="col-md-10" id="text"><a class="btn btn-lg btn-success" href="#"
                                                data-toggle="modal" data-target="#basicModal">Add TODO List</a></div>
        </div>
        <div class="col-lg-4 col-md-4"></div>
    </div>

есть такой кусок кода нужно заменить техт в элементе span class=task_id
('#task_add').submit(function(e){
        e.preventDefault();
        var i = parseInt($('.task_id').text());
        var text = $('input[id=text_task]');
        var csrfmiddlewaretoken = $('input[name=csrfmiddlewaretoken]');
        var error = '';
        if (text.val() == ''){
            error = "Enter task";
            alert(error);
        }
        if(!error){
            i+= 1;
            $.ajax({
                url: '/add_task/',
                type: 'POST',
                dataType: 'html',
                data: {
                    'task': text.val(),
                    'csrfmiddlewaretoken': csrfmiddlewaretoken.val(),
                    'task_id': "task" + i.toString()
                },
                cache: false,
                statusCode: {
                    200: function(){
                        var html = template_add(text.val(),i);
                        $('.list_task').prepend(html);
                        $('#text_task').val(' ');
                        $('#basicModal').modal("hide");
                        $('span.task_id').text(i);
                        return false;
                    },
                    401: function(){
                        alert('The server is not available')
                    }

                }

            })
        }

    });

т. е в начале я забрал оттель содержимое потом функция отработала и в конце вроде как должен вставить увиличенное значение обатно
$('span.task_id').text(i);

вот этим не получается хоnя если alert вывети содержимое вроде как и доступ к элементу есть уже пробовал и text(newtext) и val(newal) содержимое не меняется где копать?

рони 10.08.2016 14:00

berluskuni,
в строке 29
alert($('span.task_id').length);
что покажет?

berluskuni 10.08.2016 15:15

показало 1

рони 10.08.2016 16:25

berluskuni,а i чему равно в этой строке?

berluskuni 10.08.2016 16:34

i в данный момент равняется 1 а внутри спана находится 0 мне нужно заменить 0 на 1

рони 10.08.2016 16:53

berluskuni,
вы что-то не договариваите ... возможно ваша страница перезагружается

berluskuni 10.08.2016 17:17

задумка была такая изначально при первом ппопадание на страницу в спане 0 и i приравнивается значению из спана когда сотворяется первый элемент i+=1 и единичка должна оказаться в спане, если бы страничка перегрузилась в спане было бы нужное значение т.к туда пишется с с сервера количество созданных обьектов

Spass 10.08.2016 17:31

сделайте i глобальной переменной, например
window.i = parseInt($('.task_id').text());

в функциях ajax другая область видимости i там равен undefined :)

berluskuni 10.08.2016 17:34

спасибо добрые люди:) я так и сотворил примерно щас с этим и колупаюсь!!

рони 10.08.2016 18:12

Цитата:

Сообщение от Spass
в функциях ajax другая область видимости i там равен undefined

Цитата:

Сообщение от рони
berluskuni,а i чему равно в этой строке?

Цитата:

Сообщение от berluskuni
i в данный момент равняется 1

:-?


Часовой пояс GMT +3, время: 00:07.