2010-08-31 71 views
0

我遇到了jQuery的问题,我认为这很简单,但我仍然没有找到解决方案。jQuery - 将多个URL发送到多个文本输入字段

我有一个上传表单供用户在WordPress上传图片,当用户点击“插入后”时,上传图片的网址应该进入文本输入框。

我可以得到1工作正常,但是当我有多个输入字段的多个上传按钮时,图像url只发送到最后一个文本输入。

这里是我的代码:

<script type="text/javascript"> 
    //MEDIA UPLOADER 
    jQuery(document).ready(function() { 
     //Opens the upload dialog box when the button is clicked 
     jQuery('#wpsa_slide_<?php echo $slidenumber; ?>_button').click(function() { 
     formfield = jQuery('#wpsa_slide_<?php echo $slidenumber; ?>').attr('name'); 
     tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true'); 
     return false; 
    }); 
    //Sends the uploaded/selected file URL to the text input field 
    window.send_to_editor = function(html) { 
    imgurl = jQuery('img',html).attr('src'); 
    jQuery('#wpsa_slide_<?php echo $slidenumber; ?>').val(imgurl); 
    tb_remove(); 
    } 
}); 
</script> 

回答

1
imgurl = jQuery('img',html).attr('src'); 

这将选择在HTML的所有图像和获取的第一个 src属性此收藏。也许问题是有...

+0

谢谢...有没有分配一个ID或类,使其独特的方式,或是否有更好的方式来处理这个问题? – Nathan 2010-08-31 15:25:08

+0

实际上,我得到了正确的图像url,但是例如如果我有3个输入字段,并且我希望图像url转到第二个输入字段,那么将新的url传递给第三个字段...希望这是有道理的:) – Nathan 2010-08-31 16:05:58

+0

你可以发布你的HTML代码片段吗? – mamoo 2010-08-31 20:14:50

0
jQuery(document).ready(function() 
{  
    var tbl = document.getElementById('tblSample'); 
    var lastRow = tbl.rows.length+1; 
    var row=0; 
    var click=0; 
    for(var num=0;num<lastRow;num++) 
    { 
     row+=1; 
     jQuery('#upload_image_button'+row).click(function() { 
      formfield = jQuery('#my_meta[image'+row+']').attr('name'); 
      tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true'); 
      click=this.id; 
      return false; 
     }); 
    } 

    window.send_to_editor = function(html) { 
     click = click.substring(19); 
     imgurl = jQuery('img',html).attr('src'); 
     var field = 'upload_image_hide'+click+''; 
     jQuery('#'+field).val(imgurl); 
     tb_remove(); 
    } 

});