2014-09-24 1 views
0

Я использую JQuery диалоговое окно, чтобы отобразить текст, который имеет HTML теги включены:Как отображать HTML генерируется текст вместо тегов

<div id="dialog" style="display: none"> 
    <p id='infoShow'></p> 
</div> 

JQuery, который отображает данные есть:

function test(element) { 

     $("#infoShow").html($(".gLine", $(element).closest("tr")).html()); 
     $("#dialog").dialog({ 
      title: "View Guideline", 
      buttons: { 
       Ok: function() { 
        $(this).dialog('close'); 
       } 
      }, 
      modal: true, 
      width: "450px" 
     }); 

    } 

он вызывается с помощью ASP LinkButton:

<asp:LinkButton runat="server" ID="btnShow3" CssClass="btnSearch3" Text="VIEW" OnClientClick="javascript:test(this);return false;"></asp:LinkButton> 

Хотя я использую .html() для вывода изображения, то еще показывая HTML-теги вместо выхода:

enter image description here

Как я могу изменить код, чтобы он генерирует HTML-тег, а не просто отображать как обычный текст?

+1

Я удалил ваш «Кроме того,« x »отсутствует, чтобы закрыть окно». так как вы должны задать только один вопрос на вопрос. –

+0

Спасибо John Saunders :) – SearchForKnowledge

+0

Кстати, я предлагаю вам разбить этот оператор '.html' на более мелкие части, запустить в отладчике и посмотреть, что к чему. В частности, как «.closest (« tr »)« возвращает весь документ? Откуда появился тэг 'html'? –

ответ

1

Удалите теги «dialog» и «infoShow», так как они вам не нужны.

Затем, вместо того, чтобы писать в существующий DIV, просто добавьте свежий DIV к элементу тела как диалог, например, так:

function test(element) { 

    $("<div></div>").appendTo('body') 
    .html($(".gLine", $(element).closest("tr")).html()) 
    .dialog({ 
     title: "View Guideline", 
     buttons: { 
      Ok: function() { 
       $(this).dialog('close'); 
      } 
     }, 
     modal: true, 
     width: "450px" 
    }); 

} 

Или вы могли бы сделать это следующим образом:

function test(element) { 

    $("<div>" + $(".gLine", $(element).closest("tr")).html() + "</div>").appendTo('body') 
    .dialog({ 
     title: "View Guideline", 
     buttons: { 
      Ok: function() { 
       $(this).dialog('close'); 
      } 
     }, 
     modal: true, 
     width: "450px" 
    }); 

} 
+0

Мне нужен диалог DIV для диалога JQuery. – SearchForKnowledge

+1

Нет, нет. Вы можете создать div, добавить его в тело и использовать THAT для вашего диалога jQuery.Div не нужно жестко закодировать - я много использую диалоги jQuery - попробуйте, прежде чем вы скажете мне, что этого не сделать :) –

+0

: PI было просто любопытно ... может быть сделано, я уверен :) Я буду проверить это. – SearchForKnowledge

0
$(".gLine", $(element).closest("tr")) 

Этот синтаксис неверен. Вы не можете отделить имя класса и элемент jquery запятой и обернуть его «$». Запятая для CSS селекторов, как .gLine, .herpDerp

+0

Итак, код - это то, что я должен заменить? – SearchForKnowledge

+0

Что вы пытаетесь получить с этим заявлением? Это не имеет смысла. –

+1

@NickManning использует дескриптор ['jQuery (selector [, context])'] (http://api.jquery.com/jQuery/#jQuery1); он не самый эффективный, но он работает. – Mottie

1

Попробуйте это:

$("#infoShow").append($(HTML_TEXT_STRING)); 
+0

/это почти помогло мне ... Спасибо :) – SearchForKnowledge

+0

Я не хочу добавлять каждый раз. Я хочу делать это каждый раз каждый раз. Могу ли я изменить добавление в .TEXT()? – SearchForKnowledge

+0

использовать $ ("# infoShow"). Html (""); а затем append :) –

1

в вашем поверочного ид "независимо от идентификатора"

вы можете использовать .text():

$('#your-span-id').text($('#your-span-id').text()); 

это разделит все теги html, а затем вы сможете отобразить их на своем модальном. вам нужно дважды использовать идентификатор span, потому что характер механизма. это должно сработать.

 Смежные вопросы

  • Нет связанных вопросов^_^