2013-01-22 34 views
4

我一直在尋找並在此尋找錯誤,因爲我無法在我的HTML中單擊重置按鈕時清除輸入#keywordsearch。但是,我找不到任何東西 - 你能看到一個問題嗎?jQuery無法使用.val('')清除特定輸入

http://jsfiddle.net/eKWyY/

這裏是我的JS:

$('#dirreset').click(function() { 
      $('#fatform option').each(function(index) { 
       $(this).removeAttr("selected"); 
      }); 
      $('#keywordsearch').val(''); 
     }); 

感謝您的幫助,它的駕駛我有點瘋了!

奧蘇

+0

你的代碼有效......你有一個初始值「asf」,它永遠不會被清除,但如果那就是你想要的。如果你從輸入'value =「asf」'中刪除你的值,你將會有一個完全空的輸入。 :) –

回答

4

點擊Reset按鈕時,條目被重置爲默認值。而asf是默認值,所以它不會清楚的,所以改變

<input type="reset" name="osu_directory_search_reset" value="Reset" id="dirreset"> 

<input type="button" name="osu_directory_search_reset" value="Reset" id="dirreset"> 

演示:jsFiddle

+0

謝謝,這很有用 – Osu

0

如果你想保持默認值「ASF」你必須輸入型reset更改爲button

3

默認的JavaScript 復位被你.click()功能後調用,將輸入重置爲默認值asf

如果您希望避免執行默認的重置功能,請使用jQuery的event.preventDefault()或更簡單地將return false;添加到函數的末尾。例如

$('#dirreset').click(function() { 
    $('#keywordsearch').val(''); 
    return false; 
}); 

交替改變的,不會有默認的<input>"button"類型重置功能後執行功能。但是,如果您想要模擬重置,則可能需要執行一些額外的工作。

+0

謝謝@andyb(和每個人的答案),第一個選項清除了所有有用的知識。在這種情況下將輸入更改爲按鈕 – Osu

4

點擊後「重啓」按鈕,點擊事件執行,但之後其重置的形式。這個時間「asf」將返回到輸入字段,因爲它是初始值。

試着看看下面。

How to execute code after html form reset with jquery?

+0

+1您的答案中鏈接的問題有一個非常好的示例,說明如何自定義重置 – andyb

0

試試下面的代碼及其作品。

DEMO

$(document).ready(function() 
{ 
    $('#dirreset').click(function() 
    { 
     $('#fatform option').each(function(index) 
     { 
      $(this).removeAttr("selected"); 
     }); 
     $('#keywordsearch').attr('value',''); 
    }); 
});

使用attr