Подтвердить что ты не робот

Javascript/jQuery для специальных символов при использовании val()

У меня проблема со специальными символами типа &, ä и т.д. и их соответствующим HTML-кодированным письмом, например &, ä и т.д.

  • Когда они используются в теге значений полей ввода, браузер автоматически декодирует его, без проблем.

  • При использовании функции jQuerys val() браузер не имеет возможности правильно оценить содержимое.

    $("button").click(function(){
        $("#test").val("&");
    });
    

Любая идея?

4b9b3361

Ответ 1

Вы можете использовать эту вековую подсистему декодирования сущностей:

$("button").click(function(){
    $("#test").val($("<div>").html("&amp;").text());
});

Рабочая демонстрация: http://jsfiddle.net/AndyE/XegGy/

Создает временный элемент <div>, устанавливает его HTML в &amp; и затем получает текстовое значение, которое будет &.

Ответ 2

Попробуйте .html():

$("#test").html("&amp;");