选择Dynamic ID JQuery

时间:2012-12-17 16:09:40

标签: html jquery

我需要使用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还是按名称选择该元素没有任何区别。

2 个答案:

答案 0 :(得分:6)

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

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

试一下,看看是否有帮助。

答案 1 :(得分: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");
});