3

我需要使用 JQuery 选择动态 id,一旦选择它,我需要对其执行一些操作。这是我拥有的 HTML:

<input id="content_photos_attributes_1355755712119_image"   name="content[photos_attributes][1355755712119][image]" size="30" type="file">

请注意 id 值,文本始终相同,但是数字会发生变化(我无法控制该变化)。

我需要做的是在点击时为该元素创建。这是我到目前为止得到的,它不起作用。

<script type="text/javascript">
jQuery.noConflict();

  jQuery("input[id *= 'content_photos_attributes_']").click(function() {

  alert("Image deletion is clicked");
});
</script>

我是按 ID 还是按名称选择该元素确实没有区别。

4

2 回答 2

7

正如我所看到的,它应该在$(document).ready();处理程序中并且它是一个动态 id,因此您必须使用.on()处理程序来选择选择器:

$(document).ready(function(){
    jQuery(document).on('click', 'input[id^="content_photos_attributes_"]', function() {
       alert("Image deletion is clicked");
    });
});

试试这个,看看是否有帮助。

于 2012-12-17T16:22:46.320 回答
0

尝试 ^=选择器开始:

$("input[id^='content_photos_attributes_']").click(function() {
    alert("Image deletion is clicked");
});

此外,除非您有点“。”,否则您不需要属性比较中的引号。特点。这也可以:

$("input[id^=content_photos_attributes_]").click(function() {
    alert("Image deletion is clicked");
});
于 2012-12-17T16:11:53.873 回答