2010-08-31 5 views
0

У меня проблема с jQuery, которая, как я думал, будет простой, но я до сих пор не нашел решения.jQuery - отправить несколько URL-адресов в несколько полей ввода текста

У меня есть форма для загрузки для загрузки изображений в WordPress, и когда пользователь нажимает «вставить в сообщение», URL-адрес загруженного изображения должен идти в текстовое поле ввода.

Я могу получить 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 и получает атрибут ГКЗ первый в этой коллекции. Вероятно, проблема в том, что есть ...

+0

спасибо ... есть способ назначить id или класс, чтобы сделать его уникальным или есть лучший способ справиться с этим? – Nathan

+0

на самом деле я получаю правильный URL-адрес изображения, но, например, если у меня есть 3 поля ввода, и я хочу, чтобы URL-адрес изображения вышел во второе поле ввода, новый URL-адрес вместо этого передается на третий ... надеюсь, что это имеет смысл :) – Nathan

+0

Не могли бы вы опубликовать фрагмент вашего html? – mamoo

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(); 
    } 

}); 
Смежные вопросы