2013-03-15 3 views
0

У меня проблемы с набором кнопок с помощью Primefaces. Я видел несколько других сообщений How to use jQuery and jQuery plugins with PrimeFaces с аналогичными проблемами и не получил никакого результата.Проблемы с JQuery и Primefaces

Херес пример кода:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:p="http://primefaces.org/ui" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core"> 
    <f:view locale="#{templateManager.userLocale}"> 
     <h:head> 
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
      <title>#{msgs['report.title']}</title> 
      <h:outputStylesheet name="ssl-common.css" library="css"/> 
      <h:outputStylesheet name="final.css" library="css"/> 
      <link href="#{resource['img:favicon.ico']}" rel="icon"/> 
      <h:outputScript library="primefaces" name="jquery/jquery.js" /> 

     </h:head> 
     <body id="reportList"> 
      <ui:include src="../WEB-INF/header.xhtml" /> 
      <section> 
       <h:form prependId="false"> 
        <nav> 
         <div id="actionBar"> 
          <div class="wraper"> 
           <hgroup> 
            <h1>#{msgs['report.title']}</h1> 
           </hgroup> 
           <div id="subMenu" style="padding: 10px"> 

            <script> 
             $(function() { 
              $("#radio").buttonset(); 
             }); 
            </script> 

            <div id="radio"> 
             <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label> 
             <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label> 
             <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label> 
            </div> 

           </div> 
          </div> 
         </div> 
        </nav> 

     (...) 

      <h:outputScript library="js" name="common.js"/> 
      <h:outputScript library="js" name="script.js"/> 
      <h:outputScript library="js" name="primefacesLocalePT-PT.js" /> 
      <!--<h:outputScript library="js" name="jquery-ui-1.8.2.js" />--> 
      <script src="http://maps.google.com/maps/api/js?sensor=true&amp;language=#{templateManager.userLocale}" type="text/javascript"/> 
     </body> 
    </f:view> 
</html> 

С помощью этого кода я получаю сообщение об ошибке:

TypeError:. $ (...) buttonset не является функцией [Перерыв на этой ошибке]

$ ("# radio"). Buttonset();

У кого-нибудь была аналогичная проблема?

ответ

0

Вам также необходимо включить пользовательский интерфейс jQuery. В настоящий момент тег сценария для этого закомментирован.

+0

Да, это так. Но исправьте меня, если я ошибаюсь, не имеет ли эталонность встроенная функция? – Zebedeu

+0

@ RuiBatalha да, но вы также включили jQuery.js вручную. В Primefaces автоматически будут включены все необходимые части jQuery, но на странице должен быть хотя бы один компонент Primefaces, что здесь не так. – partlov

+0

@partlov Извините, я удалил часть кода, в котором использовались простые шрифты: S Однако я думаю, что что-то нечетное. Поиск в моем проекте в блоке primefaces Я не вижу кнопку ресурса (META-INF.resources.primefaces ...). Я смущаюсь. Primefaces не использует кнопки jQuery-ui? – Zebedeu

Смежные вопросы