2017-01-05 1 views
2

나는 각 이벤트에 대해 다른 날짜를 얻는 동안 while 루프를 사용합니다.while 루프에서 동일한 ID 값 가져 오기

<?php while(have_rows('_event_date_time_slots')): the_row(); ?> 

<div> 
    <h3 class="date-<?php echo $post->ID?>" 
     name="tttdate<?php echo $post->ID?>"   
     value="<?php the_sub_field('_event_date'); ?>"> 
<?php the_sub_field('_event_date'); ?></h3> 

이 코드를 사용하여 jquery에서 날짜를 가져 오기 위해 h3 요소에 클래스를 할당했습니다.

var t_date = jQuery('.date-<?php echo $post->ID?>').html(); 

하지만 첫 번째 항목 만 반환합니다. 그런 다음 h3 요소에 이름을 할당하고이 코드로 날짜를 가져 오려고합니다.

var tttdates = document.getElementsByName("tttdate<?php echo $post->ID?>"); 
var vals=[]; 
for (var i=0, n=tttdates.length; i<n; i++) { 
    vals.push(tttdates[i].value); 
} 
alert(vals.join(",")); 

이제 알림 메시지가 표시됩니다. 내가 실수를 저지르고있는 곳?

답변

1

는 당신의 <h3>를 참조 tttdates[i]value 속성이하지 않는, textContent 속성을 사용해야합니다. 당신이 jQuery를 사용하는 것처럼

vals.push(tttdates[i].textContent); 

, 당신은 .map()

var vals = $(".tttdate<?php echo $post->ID?>").map(function(){ 
    return this.textContent; 
}).get(); 
+0

당신을 감사하십시오. 잘 수행되었습니다. 일부 출력을 얻으려면이 형식으로 날짜를 전달하고 있습니다. var availableDates = [ '1-12-2017', '5-12-2017']; 이것을 전달하면 출력이 표시되지 않습니다. 뭔가 제안 할 수 있습니까? var availableDates = [vals.join (",")]]; –

+0

@shahidhamdam, 나는 위의 질문을 얻지 못했습니까? – Satpal

+0

새로운 질문을해야합니다. plz wait –

0

당신은 each를 사용하여 같은 클래스를 통해 반복 할 수 있습니다.

$('.date-<?php echo $post->ID?>').each(function(i, obj) { 
    vals.push($(obj).text()); 
}); 
alert(vals.join(",")); 
관련 문제