Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вытащить val() (https://javascript.ru/forum/dom-window/47908-vytashhit-val.html)

eskize 12.06.2014 00:52

Вытащить val()
 
Добрый вечер проблема следующая.
Есть код
$(document).ready(function(){

    $('#verify').click(function(event){
        event.preventDefault();
        this.disabled=true;
        answer = $('input:radio:checked').val();
        id = $('#id').val();
        question_id = $('#question_id').val();
        $.ajax({
            type:"POST",
            url:"verify_answer.php",
            data:"answer=" + answer + "&id=" + id + "&question_id=" + question_id,
            success:function(response){   
                $("Тут состоит проблема").css("background",response);
            }
        })
    });
});

Смысл его таков - при клике на кнопку - отправляется ajax запрос и в response - идет ответ либо red либо green.
Есть вот такая форма
echo "<form action='take_test.php?' method='GET'>"
            . "<input type='hidden' name='id' value='$this->id' id='id'>"
            . "<input type='hidden' name='question_id' value='$question_id' id='question_id'>";

        shuffle($question->answers);
        $i = 0;
        foreach ($question->answers as $answers)
        {
            echo "<div class='answers'>";
            echo "<input type='radio' name='answer' value='" . $answers . "'checked>"
                . $answers;
            echo "<br />";
            echo "</div>";
        }
        echo "<input type='submit' value='Проверить' id='verify'>";
        echo "<input type='submit' value='$submit'>"
            . "</form>";

В ней есть вопрос и 4 ответа в тегах radio
смысл ajax запроса в том, что-бы он проверил выбранный ответ и подсветил его или red или green, зависит от правильности ответа.
Все работает кроме одного но, проблема следующая, я знаю как подсветить все ответы red или green(на функции все понятно)
Но я не знаю как подсветить именно checked
p.s. тему неправильно назвал, но пока не нашел где можно сделать ренейм)

рони 12.06.2014 10:20

eskize,
не очень понятно -- значение отмеченного вы взять и отправить смогли а подсветить его проблема?

eskize 12.06.2014 17:54

Ну беру его я таким способом
$('тут наше значение').val()

А как к этому добавить
.css()
?

рони 13.06.2014 15:20

eskize,
var b = $('тут наше значение');
b.val()
b.css()

eskize 14.06.2014 02:42

name = $("input:radio:checked") у нас значение получается
name.css() - Не пашет
name.val() - пашет

рони 14.06.2014 07:54

Цитата:

Сообщение от eskize
name.css() - Не пашет

где код?

eskize 14.06.2014 18:01

$(document).ready(function(){

    $('#verify').click(function(event){
        event.preventDefault();
        this.disabled=true;
        answer = $('input:radio:checked').val();
        id = $('#id').val();
        question_id = $('#question_id').val();
        $.ajax({
            type:"POST",
            url:"verify_answer.php",
            data:"answer=" + answer + "&id=" + id + "&question_id=" + question_id,
            success:function(response){
                $("input:radio:checked").css("background",response);
            }
        })
    });
});

в response - либо red либо green, если поставить просто какой-то див - все хорошо подсвечивает, но если я подставлю див - мне подсветит все ответы, а не тот который был выбран.
Конечно можно сделать несколько дивов - но думаю есть более корректное решение.

рони 14.06.2014 18:57

eskize,
:-?
$(document).ready(function(){

    $('#verify').click(function(event){
        event.preventDefault();
        this.disabled=true;
        var b = $('input:radio:checked'),
            answer = b.val(),
            id = $('#id').val(),
            question_id = $('#question_id').val();
        $.ajax({
            type:"POST",
            url:"verify_answer.php",
            data:"answer=" + answer + "&id=" + id + "&question_id=" + question_id,
            success:function(response){
               b.css("background",response);
            }
        })
    });
});

eskize 14.06.2014 22:41

Не вижу разницы в b.css между $("Input:radio:checked").css
Не подсвечивает так. И я понял почему, потому-что оно выбирает только input radio, а не текст возле него.
Как мне выбрать текст возле него? Текст возле него идентичен b.val()

рони 14.06.2014 22:50

Цитата:

Сообщение от eskize
Не вижу разницы в b.css между $("Input:radio:checked").css

b один и тотже элемент -- $("Input:radio:checked") тот который нажат на момент прихода ответа от сервера
Цитата:

Сообщение от eskize
Как мне выбрать текст возле него?

код покажите html


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