2012-02-22 55 views
0

這非常奇怪,我無法弄清楚。當使用https://localhost/program/admin/menu.php我沒有錯誤。但是當我使用FQDN(https://FQDN/program/admin/menu.php)時,我得到一個javascript錯誤。這是失敗的函數:使用完全限定的域名時,IE8中的JQuery/Javascript錯誤

$("#user-select").change(function() { 
     var value1 = $(this + "option:selected").html(); 
    var attrs1 = value1.split("     "); 
     applyValues(attrs1[0],attrs1[1],attrs1[2]); 
    $("input[name=new-credential]").each(function(){ 
     $(this).val(''); 
    }); 
    $("#add-credential-form").dialog("open");return false;}); 

JQuery函數失敗,因爲變量value1爲null。它沒有得到選定的選項文本,我不知道爲什麼它會在使用本地主機而不是URL中的FQDN時起作用。

基本上,當選擇框更改時,添加憑證窗體對話框將填充選定選項的文本,並打開該對話框。我在其他瀏覽器中沒有問題。只是IE8使用FQDN時。如果重要,我使用JQuery 1.6.2和JQuery UI 1.8.15。感謝您對此事的幫助。讓我知道你是否需要更多信息。

謝謝!

+0

用'.val()'代替? – ppumkin 2012-02-22 08:12:56

+1

@ppumkin Isaac正在獲取html(所以文本),而不是所選選項的值。所以'.val()'可能會得到不同的結果 – 2012-02-22 08:15:35

回答

1

嘗試改變

var value1 = $(this + "option:selected").html(); 

var value1 = $(this).find("option:selected").html(); 

如果一切正常,我不知道爲什麼它會在本地而不是遠程工作,雖然。

+0

謝謝Ben和Chips。對不起本,我只能給一個複選標記。這工作,但它仍然不能解釋爲什麼最初的代碼將在IE8本地工作,但不是遠程。所有其他瀏覽器在本地或遠程都沒有問題。無論如何,再次感謝。 – Isaac 2012-02-22 21:17:55

2

這看起來不正確的對我說:

var value1 = $(this + "option:selected").html(); 

你說這個?

var value1 = $(this).find('option:selected').html(); 
相關問題