Вместо создания радиокнопок при каждом нажатии кнопки next
, вы можете просто изменить значение text
этих кнопок, чтобы отобразить новые ответы.
Вот один из способов сделать это. Этот код создаст радиокнопки с ответами на первый вопрос при нажатии start
и продолжит обновлять вопросы и ответы при нажатии next
:
var=tk.StringVar()
var.set('Click start')
l1=tk.Label(window,textvariable=var)
l1.pack()
radio_buttons = []
def show_first(radio_buttons, b1):
global num, radio_buttons, var
for idx in range(1, 5):
radio_buttons.append(tk.Radiobutton(window, text=value[num][num+idx], variable=v, value=idx))
radio_buttons[-1].pack()
var.set(value[0][0])
b1.config(text='next', command=lambda: next_and_judge(radio_buttons))
def next_and_judge(radio_buttons):
global num, score, value, var
if var.get()==value[num][5]:
score+=10
num=num+1
for idx in range(1, 5):
radio_buttons[idx-1].config(text=value[num][num+idx])
var.set(value[num][num])
b1=tk.Button(window,text='start')
b1.config(command=lambda: show_first(radio_buttons,b1))
b1.pack()
Попробуйте что-то как этот:
<select id="choose">
<option value="test1">Test1</option>
<option value="test2">Test2</option>
<option value="test3">Test3</option>
</select>
<div id="update"></div>
<script type="text/javascript">
$('#choose').change(function(event) {
$('#update').html('This is ' + $('#choose').val() + ' and other info');
});
</script>
Если Вы хотите сделать его с Ajax, изменить функцию JavaScript на что-то как этот:
<script type="text/javascript">
$('#choose').change(function(event) {
$.post('info.php', { selected: $('#choose').val() },
function(data) {
$('#update').html(data);
}
);
});
</script>
И в Вашем info.php, у Вас будет что-то как:
<?php
$selected = isset($_POST['selected']) ? $_POST['selected'] : 'nothing';
echo("This is $selected and other info");
Общее представление:
$(function() {
$("#msel").change(function(){
$("#myresult").html("This is " + $("#msel").val() + " and other info");
});
});
С большим количеством специфических особенностей я могу добиться большего успеха.;-)
Это самый простой способ, который я нашел (из этого удобного форума)
<!-- the select -->
<select id="thechoices">
<option value="box1">Box 1</option>
<option value="box2">Box 2</option>
<option value="box3">Box 3</option>
</select>
<!-- the DIVs -->
<div id="boxes">
<div id="box1"><p>Box 1 stuff...</p></div>
<div id="box2"><p>Box 2 stuff...</p></div>
<div id="box3"><p>Box 3 stuff...</p></div>
</div>
<!-- the jQuery -->
<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript">
$("#thechoices").change(function(){
$("#" + this.value).show().siblings().hide();
});
$("#thechoices").change();
</script>