2012-12-17 3 views
3

JQuery를 사용하여 동적 ID를 선택해야합니다. 일단 그것을 선택하면 그에 대한 조치가 필요합니다. 텍스트가 항상 그러나 같은 수의 변화 (I는 그 변화를 제어 할 수없는)이며,Dynamic ID JQuery를 선택하십시오.

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

이 id 값을 참고 : 이것은 내가 가지고있는 HTML이다.

내가해야할 일은 해당 요소를 클릭하여 생성하는 것입니다. 이것은 내가 지금까지 얻은 것이며 작동하지 않습니다.

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

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

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

ID 또는 해당 이름으로 요소를 선택했는지 여부는 실제로 아무런 차이가 없습니다.

+0

코드가 작동합니다. http://jsfiddle.net/2SLpB/ –

+0

수업을 사용하는 것이 좋습니다. – zzzzBov

답변

6

선택기 선택하면 .on() 핸들러를 사용할 필요가 이것에 대한 그래서이는 $(document).ready(); 핸들러와 동적 ID에 있어야시피 :

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

시도 이게 도움이되는지보십시오.

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"); 
}); 
+0

나는 그것을 시도했지만 여전히 운이 없다. –

+0

그래, 문제는 jQuery가 실행될 때 DOM이 아직로드되지 않았다는 것입니다. –

+0

지금 작동 중입니다. 모두에게 감사드립니다. –

관련 문제