Я использую Wicket и хотел бы создать сетку переключателей с помощью HTML, как показано ниже (внешние списки будут отображаться вертикально, внутренние списки будут отображаться горизонтально).
Количество групп варьируется - может быть ABC, ABCD, ABCDE и т. Д.
Я бы хотел, чтобы переключатели были сгруппированы вертикально.
<ul>
<li>
<ul>
<li><input type="radio" name="A"></li>
<li><input type="radio" name="B"></li>
<li><input type="radio" name="C"></li>
</ul>
</li>
<li>
<ul>
<li><input type="radio" name="A"></li>
<li><input type="radio" name="B"></li>
<li><input type="radio" name="C"></li>
</ul>
</li>
<li>
<ul>
<li><input type="radio" name="A"></li>
<li><input type="radio" name="B"></li>
<li><input type="radio" name="C"></li>
</ul>
</li>
</ul>
К сожалению, похоже, что RadioGroup
позволяет группировать переключатели только в соответствии с группировкой, определенной их расположением.
Например:
RadioGroup group = new RadioGroup("radioGroupA");
group.add( new Radio("myradio", new Model(1)) ;
Проблема в том, что я не могу затем размещать элементы как я хочу.
Есть ли другой способ? Вручную указать имя и собрать результаты?
ОБНОВЛЕНИЕ: Я заметил, что Radio
может принимать RadioGroup
в качестве параметра. Таким образом, можно сделать что-то вроде:
// create some groups
for (0..n) {
RadioGroup group = new RadioGroup("myRadioGroup", new Model { .. } );
groupArray.add(group)
}
//create a ListView for the RadioGroups so we can attach them to page
ListView radioListView = ListView("radioGroupList") { populate from groupArray }
add(radioListView);
// create our grid of radio buttons
// outer -> rows
for (0..x) {
// inner -> columns
for (0..n)
// supply group from our groupArray
add( new Radio("myradio", new Model(1), groupArray.get(n) ));
}
}
Затем я могу добавить Radio
и RadioGroup
в форму независимо от макета, что даст желаемый эффект с точки зрения группировки.
<form>
<span wicket:id="radioGroupList">
<span wicket:id="radioGroup"/>
</span>
<ul>
<li><radio wicket:id="myradio"/></li>
Но теперь, когда я отправляю, я получаю следующую ошибку:
WicketMessage: отправлено значение http post [radio33] для компонента RadioGroup [2: tContainer: list: 2: tPanel: myForm: ordersRadioGroupList: 0: ordersRadioGroup] является недопустимым, поскольку не содержит относительного пути к радиокомпоненту. Из-за этого компонент RadioGroup не может разрешить выбранный компонент Radio, на который указывает недопустимое значение. for pt ...
У меня есть такая модель django:
class Profile_Tag(models.Model): profile = models.ForeignKey(Profile) tag = models.ForeignKey(Tag)
и такой вид:
pts = Profile_Tag.objects.all() for pt in pts: print pt.profile.id
есть ли способ получить доступ к профилю foreignKey, не обращаясь каждый раз к базе данных? Я не хочу запрашивать таблицу профиля. Я просто хочу получить идентификаторы из таблицы Profile_Tag.