2014-09-24 98 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的LinkBut​​ton調用:

<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「缺少關閉窗口。」因爲你應該只對每個問題提出一個問題。 – 2014-09-24 02:51:49

+0

謝謝John Saunders :) – SearchForKnowledge 2014-09-24 02:52:14

+0

順便說一句,我建議你將'.html'語句分解成小塊,在調試器中運行,看看是什麼。特別是,'.closest(「tr」)'如何帶回整個文檔? 'html'標籤來自哪裏? – 2014-09-24 02:53:32

回答

1

刪除「對話框」div和「infoShow」標籤,因爲您不需要它們。

然後,而不是寫一個現有的div,只是追加一個新div來body元素作爲一個對話框,如下所示:

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

我需要用於JQuery對話框的Dialog DIV。 – SearchForKnowledge 2014-09-24 02:31:50

+1

不,你不知道。您可以創建一個div,將其附加到正文並將THAT用於您的jQuery對話框。該div不必被硬編碼 - 我使用jQuery對話框很多 - 在你告訴我它不能完成之前嘗試它:) – 2014-09-24 02:47:06

+0

:PI只是好奇......可以做我肯定:)我會測試一下。 – SearchForKnowledge 2014-09-24 02:48:27

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

此語法錯誤。你不能用逗號分隔類名和jquery元素,並用'$'來包裝它。逗號是CSS選擇器一樣.gLine, .herpDerp

+0

因此,代碼是我應該用它來替代它? – SearchForKnowledge 2014-09-24 02:07:18

+0

你想用這種說法得到什麼?這沒有意義。 – 2014-09-24 02:09:44

+1

@NickManning他正在使用['jQuery(selector [,context])'](http://api.jquery.com/jQuery/#jQuery1)表示法;它不是最有效的,但它的工作原理。 – Mottie 2014-09-24 02:36:39

1

試試這個:

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

/這幾乎幫助了我...謝謝:) – SearchForKnowledge 2014-09-24 03:04:26

+0

我不想每次都追加。我想每次都使它變新。我可以更改追加到.TEXT()嗎? – SearchForKnowledge 2014-09-24 12:59:18

+0

使用$(「#infoShow」)。html(「」);然後追加:) – 2014-09-24 13:03:47

1

在跨度ID 「無論id爲」

可以使用 的.text():

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

這將刪除所有的html標籤,然後你可以顯示它在你的模式。你必須使用你的span id兩次,因爲機制的本質。這應該工作。

相關問題