1

重複の可能性:
別の値に応じて配列の項目を格納する

4 つのアイテムを保持する catalog という配列があります。

packageid、dataid、categoryid、および datapackage。

私がやりたいことは、packageid が packageBtnFilter と等しく、categoryid が categoryBtnFilter と等しいアイテムのすべてのデータ ID を配列結果にプッシュすることです。packageBtnFilter と categoryBtnFilter の値が両方とも 0 の場合、catalog のすべてのデータ ID を結果配列にプッシュする必要があります。

これは私がこれまでに持っているものです:

var result = new Array();

var packageBtnFilter = $('#packages').val() ;
var categoryBtnFilter = $('#categories').val() ;

var test = $(catalogue).each(function () {
            if ( (packageBtnFilter!= 0)  && (categoryBtnFilter==0 ) ){
                return  this.packageid == packageBtnFilter;
            } else if ( (categoryBtnFilter!=0 )  &&   (packageBtnFilter!= 0)  ) {
                return this.categoryid == categoryBtnFilter;
            } else if ( (categoryBtnFilter==0 )  &&   (packageBtnFilter== 0)   ) {
                return
            } else {
                return this.packageid == packageBtnFilter  &&  this.categoryid == categoryBtnFilter;
                    }


             });
4

1 に答える 1

0

jQuery 以外のコレクションまたは HTML 要素を反復処理する場合は、$.each代わりに次のように使用する必要があります。

$.each(catalogue, function () {

さらに、.each反復するだけで、実際には何も返されません。あなたのリターンはほとんどただのヌープです。代わりにresult、条件でプッシュする必要があります。

于 2013-01-16T15:16:04.457 に答える