0

私はjQueryを使ってつまずいており、次のものを持っています:

<form class="form" method="POST" action="<?php the_permalink(); ?>">
<?php $counter = 1; if(get_field('step_by_step_training')): ?>
<?php while(the_repeater_field('step_by_step_training')): ?>    
    <div class="form-row">
        <p class="training"><?php echo the_sub_field('introduction'); ?></p>
        <button class="next">Next</button>
    </div>
<?php $counter++; endwhile; ?> 
<?php endif; ?> 
</form>

<script type="text/javascript">
jQuery(function($) {
$(document).ready(function() {    

    // prepend a 'previous' button to all form-rows except the first
    $('<button>').addClass('previous').text('Previous').prependTo($('.form-row').not(':first'));

    // hide all form-rows, but not the first one
    $('.form-row').not(':first').hide();

    // add the submit button to the last form-row
    $('<input>').prop('type', 'submit').val('Submit').appendTo($('.form-row:last'));


    // handle the previous button, we need to use 'on' here as the
    // previous buttons don't exist in the dom at page load
    $('.form-row').on('click', 'button.previous', function(e) {
        e.preventDefault();
        $(this).parent('div.form-row').hide().prev('div.form-row').show();
    });

    $('button.next').click(function(e) {
        // prevent the next buttons from submitting the form
        e.preventDefault();
        // hide this form-row, and show the next one
        $(this).parent('div.form-row').hide().next('div.form-row').show();
    });    

});
});
</script>

これは段階的なプロセスを作成しています。

最後のステップで次へのボタンを非表示にしたいのですが、機能しないようです。次のことを試しましたが、次のボタンが機能しなくなりました。

$('button.next').is(':last').hide();
4

2 に答える 2

3

あなたはこれを試すことができます:

  $('button.next').last().hide();
于 2012-09-21T09:42:16.130 に答える
0

jQuery ドキュメントに基づいて、要素の少なくとも 1 つが引数と一致する場合、 is()は true を返します。

だからあなたが本当にしたいことは$('button.next').last().hide()、または$('button.next:last').hide()

于 2012-09-21T09:46:20.873 に答える