0

ここWordPressでこのコードに取り組んでいます。それを回避する方法がわからない。

だから、私はWordpressのテーマにある4つのファイル入力を持っています. このフォームは広告を編集するためのもので、データベースから取得した情報が入力されています。画像がある場合、入力は非表示になり、テキスト フィールドとボタンが表示されます。

私がやろうとしているのは、ボタンをクリックして、テキストフィールドとボタンを非表示/削除することです。そして、その後、ファイル入力を表示させます。

これは私がそれを実装しようとしている方法です:

                          <script language="text/javascript">
                        $(function(){
                            $('#btn1').click(function(){
                                        $.ajax({
                                            url:"/wp-admin/admin-ajax.php",
                                            type:'POST',
                                            data:'action=my_special_action',
                                            success:function(results)
                                            {
                                                //  alert(results);
                                                $("#pic1").attr('type','file');
                                            }
                                        });
                                    }
                            );
                        });

                  </script>
              <?php for ($i=1;$i<=get_option('wpClassifieds_max_img_num','4');$i++):
                        if($i <= $num_rows) {
                            $ad_photos = mysql_fetch_array($res);
                            $upload_array = wp_upload_dir();
                            $upload_array['subdir'] = "awpcp"; ?>
                              <div class="pictures">
                                <label><?php _e('Picture', "wpct");?> <?php echo $i?></label>
                                <textarea id="text<?php echo $i; ?>" name="text<?php echo $i; ?>" readonly><?php echo $ad_photos["image_name"];?></textarea>
                                <button id="btn<?php echo $i?>" name="btn<?php echo $i?>" />remove
                                <input type="hidden" name="pic<?php echo $i?>" id="pic<?php echo $i?>" value="<?php echo $_POST["pic".$i];?>" />
                              </div>
                                <?php }else{ ?>
                                    <div class="pictures">
                                        <label><?php _e('Picture', "wpct");?> <?php echo $i?></label>
                                        <input type="file" name="pic<?php echo $i?>" id="pic<?php echo $i?>" value="<?php echo $_POST["pic".$i];?>" />
                                    </div>
                              <?php } endfor; ?>

助けてください。

ありがとう

4

2 に答える 2

0

$('#btn1')スクリプトはIDのボタンでのみ機能するため、使用しないでください#btn1

このようなことをします:

jQuery('.pictures button').on('click', function() {
  // If you need button ID
  var button_id = jQuery(this).attr('id');

  // Hide the text area
  jQuery(this).prev('textarea').hide(); 
  // And button
  jQuery(this).hide();
  // Show Input field
  jQuery(this).next('input').show(); 

});

ajax目的がわからないので追加しませんでした。

于 2013-02-20T20:57:41.903 に答える
0

次のように、Wordpress ですべての jQuery コードをラップします。

$(function(){と置き換えますjQuery(function ($) {

基本的に、Wordpress は、'$' 文字へのアクセスを必要とする他のライブラリと競合しないように jQuery をセットアップしています。

于 2013-02-20T20:34:07.030 に答える