1

事前に保存された値を持つチェックボックスのリストがあります。

このリストを表示して、チェックされているものをチェックし、チェックされていないもののチェックを外します。

私はJqueryMobileを使用しています。

function CheckExistingDays(DayId, DaysList, DayName)
        {
            var Len = DaysList.length;
            var FoundLessCounter = 0;
            for(var i =0;i<Len;i++)
             {
                 //alert("Day Id is : "+ DayId+" Day At List is "+ DaysList[i]);
                 if(DayId== DaysList[i])
                 {
                     $("#WeekDays fieldset").append('<input type="checkbox" name="'+ DayName+'" CheckboxId="'+ DayId +'" id="cool'+ i +'" class="custom" checked /><label for="cool'+ i +'">'+ DayName +'</label>');

                 }

                 else
                 {
                     FoundLessCounter++;
                     if(FoundLessCounter == Len)
                     {
                         $("#WeekDays fieldset").append('<input type="checkbox" name="'+ DayName+'" CheckboxId="'+ DayId +'" id="cool'+ i +'" class="custom"/><label for="cool'+ i +'">'+ DayName +'</label>');
                     }

                 }

             }



        }

DaysListには保存された値が含まれます。

チェックされたボックスは正しく表示されますが、チェックされていないボックスは使い古された方法で表示されます。 チェックボックスビュー

しかし、チェックする必要のある日の1つも間違ったもので出力され、その横に正しいマークが付いています。

それで、このコードを修正できる方法はありますか?

4

1 に答える 1

1

問題は、id の「i」カウンターにありました。

Unchecked Days では正しくインクリメントされていなかったため、次のように変更しました。

                $("#WeekDays fieldset").append('<input type="checkbox" id="cool'+ i +'" class="custom" checked /><label for="cool'+ i +'">'+ DayName +'</label>');

               $("#WeekDays fieldset").append('<input type="checkbox" id="cool'+ DayId+'" class="custom" checked /><label for="cool'+ DayId +'">'+ DayName +'</label>');

そして、IDが修正されたときにすべてが修正されました:) `

于 2012-11-19T09:50:31.347 に答える