0

todoリストを作っています。相互に関連するチェックボックスとテキスト フィールドのリストがあります。jquery を使用して todo リストを作成していますが、次のように出力されます。

<li name="todo_li" class="todo_items">
     <input class="incomplete" name="done_item" id="chk_box1" type="checkbox" checked>
     <div id="chk_div1">asdf</div>
     <input type="hidden" name="todo_text" id="todo_text1" value="asdf">
     <a class="remove" href="">x</a>
</li>
<li name="todo_li" class="todo_items">
     <input class="incomplete" name="done_item" id="chk_box2" type="checkbox">
     <div id="chk_div1">asdf</div>
     <input type="hidden" name="todo_text" id="todo_text2" value="asdf">
     <a class="remove" href="">x</a>
</li>
<li name="todo_li" class="todo_items">
     <input class="incomplete" name="done_item" id="chk_box3" type="checkbox" checked>
     <div id="chk_div1">qwer</div>
     <input type="hidden" name="todo_text" id="todo_text3" value="qwer">
     <a class="remove" href="">x</a>
</li>

私の見解では、次のようにすべての todo_text と done_items を取得しています。

todo_text = request.POST.getlist('todo_text')                                                                                       
print todo_text                                                                                                                     
done_item = request.POST.getlist('todo_item')                                                                                       
print todo_item 

出力は次を返します。

todo_text= [u'asdf', u'asdf', u'qewr']
done_item= [u'on', u'on']

アイテムを作成してすぐにチェックボックスをオンにした場合、todo_text 配列のアイテム 0 と 2 のように、done_items を一致させるにはどうすればよいですか?

私はこれらの行だけで何かをしようとしていました:

   List3 = []                                                                                                                      
   print List3                                                                                                                     
   for i in range(len(todo_text)):                                                                                                 
       for j in range(len(todo_item)):                                                                                             
           if todo_text[i] == todo_item[j]:                                                                                        
              List3.append(1)                                                                                                     
           else:                                                                                                                   
              List3.append(0)                                                                                                     
   return List3 

このモデルの che_box フィールドと todo_text フィールドに上記の情報を入力しようとしています。

class TaskTodo(models.Model):                                                                                                               
    chk_box           = models.BooleanField(verbose_name='')                                                                                
    todo_text         = models.CharField(max_length=256, verbose_name="")                                                                   
    submitter         = models.ForeignKey(User, null=True, blank=True)                                                                      
    date_created      = models.DateTimeField(editable=False)                                                                                
    date_updated      = models.DateTimeField(editable=False)  

助言がありますか?

私が使用しているフォームは次のとおりです。

http://jsfiddle.net/Lz6Tq/

4

2 に答える 2

0

あなたの質問を理解できたかどうかわかりません。各 todo_text が todo_item にあるかどうかを確認したい場合は、次のようにすることができます

List3 = [1 if e in todo_item else 0 for e in todo_text]
于 2013-06-18T06:25:03.513 に答える