2015-06-02 115 views
0
out.println("<html>"); 
    out.println("<head>" 
      + "<script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js\"></script>" 
      + "<script>" 
      + "$('input[type=\"checkbox\"]').on('change', function(){$('input[type=\"checkbox\"]').not(this).prop('checked', false);});" 
      + "</script>" 
      + "</head>"); 
    out.println("<body>"); 

我想一次只檢查1個複選框,並且希望使用此腳本來完成此操作。腳本本身正在工作,但是在servlet中它不是。將jQuery添加到java servlet

如何將此腳本添加到servlet?

回答

1

這不可能是一個servlet問題。您在頁面正文加載之前執行jQuery代碼,因此您還沒有複選框,並且您的事件未註冊。嘗試將其包裝到$(function() {...})中。

out.println("<html>"); 
out.println("<head>\n" 
     + "<script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js\"></script>\n" 
     + "<script>\n" 
     + "$(function() {\n" 
     + " $('input[type=\"checkbox\"]')\n" 
     + " .on('change', function(){$('input[type=\"checkbox\"]').not(this).prop('checked', false);});\n" 
     + "});\n" 
     + "</script>\n" 
     + "</head>"); 
out.println("<body>"); 
0

您可以將function所以裏面包裹jQuery代碼,這將是一次執行你的文件是前準備好沒有,像這樣:

$(document).ready(function() { 
$('input[type=\"checkbox\"]').on('change', function(){$('input[type=\"checkbox\"]').not(this).prop('checked', false);}); 
});