前提・実現したいこと
![
こんな感じのラジオボタンがありまして、押すと左右にスライドするはずなんですけど動きません。
このコードを軸に作りました。
cssは手を加えていません。
どうすればこのラジオボタンは正常に動きますか?よろしくお願いします。
追記
views.pyのこの部分でラジオボタンが右になるようにしているはずなのに左になっているということはexecが問題で機能してないとかですかね?
which_Form = Which_Form() #バッターがどっち打ちかラジオボタン変数定義【空のリスト作成】 for t_choice in range(1,19): exec("t_choice%d = []" % (t_choice)) exec("t_choice%d.append(('1','左'))" % (t_choice)) exec("t_choice%d.append(('2','右'))" % (t_choice)) #最初にチェックされてるところを指定 for num in range(1,19): exec("which_Form.fields['lr%d'].choices = t_choice%d" % (num, num)) exec("which_Form.fields['lr%d'].initial = ['2']" % (num))
該当のソースコード
makedata.html(一部)
lr1~18まである
<div class='conta'> <br /> <span class="switch radio-switch fixed-width-lg"> {{ which_form.lr1.0 }} {{ which_form.lr1.1 }} <a class="slide-button btn"></a> </span> </div>
views.py
from .forms import Which_Form def makedata(request): labels = ['チェック','複数チェック','ラジオボタン','動的選択肢1','動的選択肢2'] # 入力結果を格納する辞書 for t_result in range(1,19): exec("t_results%d = {}" % (t_result)) if request.method == 'POST': c = {} keys = {} for rpg in range(1,19): exec("t_results%d[labels[4]] = request.POST.getlist('lr%d')" % (rpg, rpg)) exec("keys = {'t_results%d': t_results%d}" % (rpg, rpg)) c.update(keys) else: which_Form = Which_Form() #バッターがどっち打ちかラジオボタン変数定義【空のリスト作成】 for t_choice in range(1,19): exec("t_choice%d = []" % (t_choice)) exec("t_choice%d.append(('1','左'))" % (t_choice)) exec("t_choice%d.append(('2','右'))" % (t_choice)) #最初にチェックされてるところを指定 for num in range(1,19): exec("which_Form.fields['lr%d'].choices = t_choice%d" % (num, num)) exec("which_Form.fields['lr%d'].initial = ['2']" % (num)) #htmlに渡す情報 c = {'which_form': which_Form} # CFRF対策(必須) c.update(csrf(request)) return render(request, 'protagonist/makedata.html', c)
models.py
class T_choice(models.Model): for i in range(1,19): exec("lr%d = models.TextField(verbose_name='右左打ち', blank=True)" % (i))
forms.py
from .models import T_choice class Which_Form(forms.ModelForm): for i in range(1,19): exec("lr%d = forms.MultipleChoiceField(label='種類', required=False, disabled=False, widget=forms.RadioSelect(attrs={'id': 'lr%d','class': 'radioCheck'}))" % (i, i)) class Meta: model = T_choice fields = ('lr1', 'lr2', 'lr3', 'lr4', 'lr5', 'lr6', 'lr7', 'lr8', 'lr9', 'lr10', 'lr11', 'lr12', 'lr13', 'lr14', 'lr15', 'lr16', 'lr17', 'lr18',)
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。