jquery php foreach eşdeğer?

6 Cevap php

Is there a foreach code in JQuery as in PHP? I have a code in php,like

<?php foreach ($viewfields as $viewfield): ?>   	
if("<?php echo $viewfield['Attribute']['required'];?>"=='true'){
	   $("<span class='req'><em> * </em></span>").appendTo("#fb_contentarea_col1down21 #label<?php echo $viewfield['Attribute']['sequence_no']?>");
   }


   if(<?=$viewfield['Attribute']['type'];?>=='text'||<?=$viewfield['Attribute']['type'];?>=='date'||<?=$viewfield['Attribute']['type'];?>=='number'){ 
	   $("<input id=input<?=$viewfield['Attribute']['sequence_no'];?> type= 'text' style= 'width:<?=$viewfield['Attribute']['size'];?>px' data-attr=<?=$viewfield['Attribute']['type'];?> ></input><br>").appendTo("#fb_contentarea_col1down21 #<?=$viewfield['Attribute']['sequence_no'];?>");
   }


   else if(<?=$viewfield['Attribute']['type'];?>=='textarea'){
	   $("<textarea style= 'width:<?=$viewfield['Attribute']['size'];?>px' data-attr=<?=$viewfield['Attribute']['type'];?> id=input<?=$viewfield['Attribute']['sequence_no'];?>></textarea><br>").appendTo("#fb_contentarea_col1down21 #<?=$viewfield['Attribute']['sequence_no'];?>");
}

JQuery içinde foreach herhangi bir eşdeğer var mı? Nasıl jQuery bu aynı functioality başarabilirsiniz?

EDIT 1:

Ben o amele düşündüm ama bir hata alıyorum. Kodu ve hata mesajı aşağıda verilmiştir.

for(<?=$viewfield;?> in <?=$viewfields;?>){

 if("<?=$viewfield['Attribute']['required'];?>"=='true'){
            $("<span class='req'><em> * </em></span>").appendTo("#fb_contentarea_col1down21 #label<?php echo $viewfield['Attribute']['sequence_no']?>");
 }

 if(<?=$viewfield['Attribute']['type'];?>=='text'||<?=$viewfield['Attribute']['type'];?>=='date'||<?=$viewfield['Attribute']['type'];?>=='number'){ 
            $("<input id=input<?=$viewfield['Attribute']['sequence_no'];?> type= 'text' style= 'width:<?=$viewfield['Attribute']['size'];?>px' data-attr=<?=$viewfield['Attribute']['type'];?> ></input><br>").appendTo("#fb_contentarea_col1down21 #<?=$viewfield['Attribute']['sequence_no'];?>");
 }

 else if(<?=$viewfield['Attribute']['type'];?>=='textarea'){
            $("<textarea style= 'width:<?=$viewfield['Attribute']['size'];?>px' data-attr=<?=$viewfield['Attribute']['type'];?> id=input<?=$viewfield['Attribute']['sequence_no'];?>></textarea><br>").appendTo("#fb_contentarea_col1down21 #<?=$viewfield['Attribute']['sequence_no'];?>");
 }

}

Hata mesajı:

syntax error for( in Array)

Birisi bana yardımcı olabilir ..

6 Cevap

$.each işlev benzer.

Bu size her öğeye erişebilir bir geri arama işlevini kullanarak dizileri yineleme sağlar:

var arr = [ "one", "two", "three", "four", "five" ];


$.each(arr, function(index, value) {
  // work with value
});

Eğer döngü kırmak istiyorsanız, belki bilmek yararlıdır, sen return false; ile bunu yapabilirsiniz ya da sadece bir yineleme (devam) atlamak istiyorsanız, return true;

Eğer bir nesneyi yineleme yapmak istiyorsanız, ben JavaScript varyantı öneriyoruz:

for (var key in obj) {
    alert(key + ': ' + obj[key]);
}

You can also iterate objects in jQuery like this:
Note! Doing this is pretty pointless unless you think this syntax is much simpler to maintain. The below syntax has much more overhead than the above, standard JavaScript, for-loop.

$.each(obj, function (key, value) {
    alert(key + ': ' + value);
});


Diziler yinelemek için, bu (arr dizisi olduğunu varsayarak) standart JavaScript bunu nasıl:

for (var i = 0, l = arr.length; i < l; i++) {
    alert(i + ': ' + arr[i]);
}

JQuery bunu yapmak, bunu şöyle yapabilirsiniz:

$.each(arr, function (index, value) {
    alert(index + ': ' + value);
});

Orada jQuery.each.

Javascript for(data in data_array) sözdizimini destekler. jQuery de $ vardır. her işlevi (yukarıda belirtildiği üzere)

JQuery seçicileri faaliyet:

$('a').each(function() {
    $(this).click(function(e) {
       e.preventDefault()
       var href = this.href;
       open(href);
    });
    // operate on the anchor node.
});

jQuery doğrudan $ her.:

var a = ['one', 'two'];

$.each(a, function() {
    alert(this)
});

JS: döngü için Vanilla

 for ( var i = 0, len = 10; i<l; ++i ) {
    alert(i)
 }

JS # 2: için vanilya

 var humanLimbs = ['arms', 'legs'];
 for ( var limb in humanLimbs ) {
     if ( humanLimbs.hasOwnProperty(limb) ) {
        alert( limb )
     }
 }

Js # 3: sonsuz döngü

for (;;) { alert(1) } // dont try this :p

Bu bağlantıyı kontrol edebilirsiniz. Javaascript For...in loop Ben daha doğrudan sorunuzu yanıtlayan düşünüyorum.