0

ドロップダウン内にWordpressによって生成されたページのリストがあり、クリックすると、フォームを送信して選択したページに移動するにはどうすればよいですか?

<form id="work" action="" method="post">
<select name="work">
    <?php $pages = get_pages(array('child_of' => '15', 'sort_column' => 'menu_order')); 
    foreach($pages as $post) {
    setup_postdata($post);
    $fields = get_fields(); ?>
        <option class="work-dropdown" value="<?php echo the_permalink(); ?>"><?php echo the_title(); ?></option>    
    <?php } wp_reset_query(); ?> 
</select>           
</form>

私はこのjqueryを試しましたが、それが正しいかどうか、アクションに何を入れるべきかわかりません:

<script type="text/javascript">
jQuery(document).ready(function( $ ) {
$('.work-dropdown').change(function() {
  $('#work').submit();
});
});
</script>
4

3 に答える 3

1

単にページをリダイレクトしたい場合は、次を試してください。

<script type="text/javascript">
jQuery(document).ready(function( $ ) {
   $('select[name="work"]').change(function(){
        window.location = $(this).val();
    })
});
</script>

jQuery セレクターを高速化するために、select に ID を追加することができます。したがって、以下を追加id="page-redirect"します: select に jQuery オブジェクトを に変更します$('#page-redirect')。ID は、クラスや属性よりもはるかに高速に選択されます。

フォームを選択した URL に投稿したい場合は、次を試してください。

<script type="text/javascript">
jQuery(document).ready(function( $ ) {
    $('#work select[name="work"]').change(function(){
        $('#work').attr('action', $(this).val()).submit();
    });
});
</script>
于 2013-10-28T15:08:19.440 に答える
0
jQuery(document).ready(function ($) {
    $('.work-dropdown').change(function () {
        $('#work').attr('action', $(this).val());
        $('#work').submit();
    });
});

これを行います

于 2013-10-28T15:08:02.397 に答える