0

我正在 WordPress 上处理此代码。不知道如何绕过它。

所以,我有一个 Wordpress 主题的四个文件输入。此表单用于编辑广告,并填写从数据库中检索到的信息。如果有图片,则隐藏输入并显示一个文本字段和一个按钮。

我想要做的是,单击按钮并隐藏/删除文本字段和按钮。并且,在它使文件输入出现之后。

这就是我尝试实现它的方式:

                          <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

将所有 jQuery 代码包装在 Wordpress 中,如下所示:

替换$(function(){jQuery(function ($) {

基本上,Wordpress 以一种不会与其他想要访问“$”字符的库冲突的方式设置 jQuery。

于 2013-02-20T20:34:07.030 回答
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 回答