2012-03-08 72 views
1

我有一些代碼,我有一個按鈕,我想創建一個對話框。此對話框中將包含一個textarea,其中包含一些將突出顯示的填充數據。我可以創建對話框和textarea我只是不確定如何將數據放入文本區域以及如何突出顯示它。使用jquery .html來調用函數

<button id="axis-details" onclick="apikey('<?php echo $result_cameras[$i]["camera_hash"]; ?>');">API Key</button> 

function apikey(camerahash) 
{ 
var $key = "http://myhost.com/notify.php/" +camerahash; 
return $key; 
} 

$(document).ready(function() { 
var $dialog = $('<div></div>') 
    .html('Please copy this key for setup: <p><textarea id=\"textbox\">'apikey(camerahash);'</textarea></p><p>For more information see: <a href=\"http://www.myhost.com/forum/2-quickstart-docs\">setup</a></p>') 
    .dialog({ 
     autoOpen: false, 
     title: 'Axis API Key' 
    }); 

$('#axis-details').click(function() { 
    $dialog.dialog('open'); 
    // prevent the default action, e.g., following a link 
    return false; 
}); 
}); 

我想要的行爲是當有人點擊按鈕時出現一個jquery ui對話框。這很簡單。在對話框中我想要一個textarea,也很簡單。我無法弄清楚的部分是,我想把一個構造的url放在textarea($ key變量)中。此外,該網址需要突出顯示。我無法弄清楚如何把這個url放在textarea裏面,以及如何突出顯示它。

在此先感謝。

+0

如何做什麼?請花時間詳細解釋這一切。 – Sparky 2012-03-08 03:36:31

+0

我編輯了主帖 – Tom 2012-03-08 03:42:56

回答

1

我們這裏有什麼爛攤子! hehehehe

所以,首先,爲什麼你不使用.append(html)與對話框的每個部分的HTML?其次,當你想在javascript中連接字符串時,你必須使用+運算符。第三,防止defaul事件操作,使用.preventDefault()

好了,速戰速決在代碼中,我們得到了這一點:

$(document).ready(function() { 
    var camerahash = '<?php echo $result_cameras[$i]["camera_hash"]; ?>'; 
    var $dialog = $('<div></div>'); 
    $dialog.append('<p>Please copy this key for setup:</p>') 
     .append('<p><textarea id="textbox">' + apikey(camerahash) + '</textarea></p>') 
     .append('<p>For more information see: <a href="http://www.myhost.com/forum/2-quickstart-docs">setup</a></p>'); 
    $dialog.dialog({ 
    autoOpen: false, 
    title: 'Axis API Key' 
    }); 

    $('#axis-details').click(function(e) { 
    e.preventDefault(); 
    $dialog.dialog('open'); 
    }); 
}); 

現在,裏面文字區域突出顯示文本,或設置任何CSS屬性,是不可能...要做到這一點,你需要一個接受HTML內容的HTML元素,而不是TEXT內容,但它不可編輯。所以,你真正需要的是一個textarea和一個div,它有一個預覽區的可編輯區域:]

+0

謝謝,這幾乎可以工作。我的問題是,現在說camerahash是未定義的。我正確執行apikey功能嗎? – Tom 2012-03-08 04:12:07

+0

camerahash必須是調用apikey函數之前聲明的變量..再次檢查答案.. – 2012-03-08 16:50:31