1

JQuery と JSF の統合に問題があります。

スピンを使っています。そして私は自分のコードに持っています:

<script type="text/javascript" src="#{request.contextPath}/scripts/jquery.selectbox-0.5.js"></script>
    jQuery(document).ready(function($){
      $.spin.imageBasePath = '../images/spin1/';
      $('#spin1').spin();
      $('#spin2').spin();
      $('#spin3').spin();
    }

初めてページを呼び出すと、「スピン」がコンポーネントに追加されています。

問題は、私も持っていることです。それを呼び出してページの一部(スピナーがある場所)を更新すると、機能しなくなります。Jquery はページの読み取り時にのみ呼び出され、その一部を更新すると、もう実行するようです。

で使用しようとしh:commandButtonましf:ajaxたが、問題は解決しませんでした。

レンダリング中のフォーム内にスクリプトを移動しようとしましたが、役に立ちません

どうすればこれを解決できますか?

4

2 に答える 2

1

要するに、ajax リクエストが完了するたびに再実行したいですか?

次のように関数に移動します。

jQuery(document).ready(function() {
    jQuery.spin.imageBasePath = '../images/spin1/';
    runSpinners();
});
function runSpinners() {
    jQuery('#spin1').spin();
    jQuery('#spin2').spin();
    jQuery('#spin3').spin();
}

oncompleteこのようにして、の属性で再利用できます<p:commandButton>

<p:commandButton oncomplete="runSpinners()" />

または、押されたボタン/リンクに関係なく、すべて<p:ajaxStatus>の ajax 呼び出しの完了時にそれを実行するために使用することもできます。

<p:ajaxStatus oncomplete="runSpinners()" />
于 2010-07-29T13:52:45.043 に答える
0

書くだけ

$=jQuery;

これを行うと、$ 記号を使用して jQuery を記述する標準的な方法を楽しむことができます...

$(document).ready(function() {
    $.spin.imageBasePath = '../images/spin1/';
    runSpinners();
});
function runSpinners() {
    $('#spin1').spin();
    $('#spin2').spin();
}
于 2011-04-06T17:31:23.933 に答える