0

次のようなボタンでフィールドを動的にロードしました

<input class="upload_image_23" type="text" size="36" name="products_image_large_new_23" value="" />
<input class="upload_image_button_24" type="button" value="Upload Image" />
<input class="upload_image_23" type="text" size="36" name="products_image_large_new_23" value="" />
<input class="upload_image_button_24" type="button" value="Upload Image" />

今、私はすべてのためにこのjquery関数を変更したいと思いましupload_image_button_[any-number]products_image_large_new_[any-number]

jQuery(document).ready(function() {

jQuery('.upload_image_button_[any-number]').click(function() {
 formfield = jQuery('.upload_image_[any-number]').attr('name');
 tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
 return false;
});

window.send_to_editor = function(html) {
 imgurl = jQuery('img',html).attr('src');
 jQuery('.upload_image_[any-number]').val(imgurl);
 tb_remove();
}

});

何を含めるべき[any-number]ですか?

4

2 に答える 2

1

idすべての要素を、で始まるsと一致させるには、次の#upload_image_セレクターを使用します。

input[id^="upload_image_"]

そして、あなたのコードは次のようになります:

jQuery('input[class^="upload_image_button_"]').click(function() {
  var id = jQuery(this).attr('class').split('_').slice(-1);
  formfield = jQuery('.upload_image_' + id).attr('name');

  tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
  return false;
});

属性セレクターの詳細については、http://api.jquery.com/category/selectors/attribute-selectors/をご覧ください。

要素がその正確な順序になっている場合は、これを使用して以下を取得することもできますformfield

  formfield = jQuery(this).prev().attr('name');
于 2012-10-09T03:26:31.407 に答える
0

試す

 $(document.body).click(function () {
      $("div").each(function (i) {
       formfield = jQuery('#upload_image_[any-number]').attr('name');
      tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
     return false;

      });
    });
于 2012-10-09T03:27:26.037 に答える