2012-09-07 87 views
2

我正在嘗試使用jQuery輸入掩碼插件(jquery.maskedinput-1.3.min.js),並且我已經搜索了幾個示例/解決方案,並且我的代碼與其他工作示例完全一樣,但它只是獲勝不爲我工作。請記住我的代碼現在只是測試這個插件(試圖讓它工作,這將解釋爲什麼我試圖將日期輸入掩碼應用到名稱字段)我的代碼如下:爲什麼我的jquery輸入掩碼不工作?

HTML

<!DOCTYPE html> 

<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>Persons of Interest</title> 
    <link rel="stylesheet" type="text/css" href="/Default_Styler.css" /> 
    <link rel="shortcut icon" href="/person.ico" type="image/x-icon" /> 
    <script src="/Scripts/jquery.1.7.2.js" type="text/javascript"></script> 
    <script src="/Scripts/jquery.maskedinput-1.3.min.js" type="text/javascript"></script> 
    <script src="/Scripts/FormHandler.js" type="text/javascript"></script> 
</head> 
<body> 
    <div id="WrapperDiv"> 
     <div id="TitleBar"> <!--Beginning of Title Bar--> 
      <div style="padding-top: 30px; text-align: center;">Persons of Interest</div> 
     </div>     <!--End of Title Bar--> 
     <div id="FormHolder"> 
      <form action=""> 
       <p><label>POI Name: </label><input type="text" id="POI Name" name="POI Name" value=""/></p> 
      </form> 
     </div> 
    </div> 
</body> 
</html> 

的JavaScript

jQuery(function ($) { 
    $("#POI Name").mask("99/99/9999"); 
}); 

除此之外,我可以向你保證,被引用的jQuery庫的確是 的appropr iate目錄。 (/ Scripts/...)

當我點擊輸入字段或任何內容時,我不會收到錯誤,它只是簡單地不做任何事情。

+0

不是一個答案,因爲我真的很同意你應該從你的'id'下降的空間,但爲了好奇這應該工作(逃避的空間) :'$(「#POI \\ Name」)http://jsfiddle.net/xA8GY/1/ –

回答

7

jQuery選擇器遵循標準的CSS語法,因此ID中間的空間實際上被當作後代選擇器來處理。讓您的生活更輕鬆:處理jQuery時,請將您的ID和類限制爲字母數字,連字符等等。

澄清:在jQuery中有引用/轉義語法,但恕我直言,它太煩人處理,因此我甚至沒有給它的例子。

+0

OMG,我必須退出爲我的代碼添加空格......非常感謝!你的回答正是爲什麼它不工作。從現在開始,誠實地說是pascal,駱駝案... – VoidKing

2

空格在ID屬性中無效。您應該將您的ID更改爲$("#POIName")並更新您的HTML。

Jquery-ids-with-spaces是一個類似的問題,你可能會發現intersting。

+0

確實,謝謝! – VoidKing

4

從ID刪除空格,然後嘗試這個

jQuery(function ($) { 
    $("#POIName").mask("99/99/9999"); 
}); 
+0

@VoidKing是工作嗎? – Codegiant

+0

我的確如此,它的工作!謝謝! – VoidKing