2012-05-25 309 views
0

希望有人能幫助我。奇怪的JavaScript/jQuery問題

我有一個頁面,顯示模式彈出窗口中的用戶列表。您可以通過兩種方式訪問​​此頁面,您可以選擇一種方式選擇未批准的用戶,並打開該頁面,另一種方式是選擇用戶帳戶,這樣可以打開一個彈出窗口,詢問您是否有任何搜索條件,例如名稱,一旦完成你搜索,它會打開用戶頁面。

我在窗體上有一個按鈕來清除任何過濾器。當我在未批准的用戶頁面上運行它時,它會清除該框,但是如果我通過其他方式在窗體上執行該代碼,則不會清空文本框,並且當我嘗試顯示沒有數據的警報時。警報在未經批准的路線上工作的位置!

這裏是我使用jQuery:

clear: function() { 
     //reset filters// 
     $('.usersFilterList li').remove(); 
     $('.userFilterSelect option').show(); 

     $('#UserFilter_SearchTermIncluded').attr('value', ''); // This line doesn't seem to work properly 

     alert($('#UserFilter_SearchTermIncluded').attr('value')); 

     //hide filter options 
     MSG.showNHide('', '#usersFilterBox'); 

     //reset modal control buttons 
     $('#usersButSaveFilter,#usersButClearFilter').hide(); 
     $('#usersButFilter').fadeIn(); 

     usersFilter.refresh(0); 
    } 

任何人都可以看到,如果我做任何愚蠢的事?正如我所說,它與其他彈出窗口之間的相同MVC操作調用的形式完全相同。

道歉,如果這是令人困惑的,我不能再發布代碼,我害怕。我可以向你保證,該文本框的ID是正確的,但。

任何意見,這裏將不勝感激,因爲我已經在現在盯着小時...

乾杯, 加雷思

如果我右鍵點擊第二個選項,並在新標籤頁和運行運行首先彈出整個頁面,然後代碼就可以工作了!所以問題似乎是有兩個彈出窗口。

解決

我發現在我自己的工作,感謝你的幫助。

我只是分配一個類,並尋找與該類任何物品和清除它像這樣:

$('.jq-clearme').val(''); 

,如果我能我會關閉這一點。由於我的代表太低,我還不被允許。

回答

0

我發現了一個我自己的工作,謝謝你的幫助。

我只是分配一個類,並尋找與該類任何物品和清除它像這樣:

$('.jq-clearme').val(''); 

,如果我能我會關閉這一點。由於我的代表太低,我還不被允許。

2

要更改元素的值(或檢索元素),訪問屬性是錯誤的方法 - 它不在兩個方向同步。你想要的是財產。雖然也通過.prop('value'[, newvalue])公開,但使用jQuery獲取/設置它的正確方法是.val([newvalue])

要清除元素的值使用以下命令:

$('#UserFilter_SearchTermIncluded').val(''); 

要檢索/顯示它,使用

alert($('#UserFilter_SearchTermIncluded').val()); 
+0

感謝您的建議,但不幸的是它做了同樣的事情,在第一條路線上工作,但不是第二條路線。 –

+0

你可以在jsfiddle上提供一個最小的測試用例來證明你的問題嗎? – ThiefMaster

+0

如果我有任何線索如何使用這個我相信我可以,遺憾的是我沒有線索:( –

0

您應該使用val()獲得輸入/設置的值。

使用不帶參數來獲取值:

$('#UserFilter_SearchTermIncluded').val(); 

並配有paramater設定的值,在這種情況下,將其設置爲無:

$('#UserFilter_SearchTermIncluded').val(''); 
+0

謝謝你的建議,但不幸的是它做同樣的事情,工作的第一路線的,但不是第二。 –

0

是否有涉及一個Ajax調用它可能會加載您發佈兩次的Javascript,因此當第二次調用時(在ajax調用之後)它發現衝突?

如前所述他人最好用.val('')設定值和.val()來獲取值。如果有任何Javascript錯誤,請檢查螢火蟲。

+0

有是ajax,是的,所以它可能是這樣的。Firebug沒有顯示任何錯誤。 –