从列表中创建组合框

时间:2014-10-27 03:09:55

标签: python django list combobox

即时通讯使用django,我有一个日期列表

list = ["2014-10-26","2010-05-05","1991-12-12" ... ] #This list may grow

我想创建两个日期如下的组合框:

combobox1 = 2014-10-26
            2010-05-05
            1991-12-12

combobox2 = 2010-05-05
            1991-12-12

当你在combobox2中的combobox1中选择一个日期时,所选日期之前的所有日期都会消失,有没有办法做到这一点?谢谢!

编辑:

list = ["2014-10-26","2010-05-05","1991-12-12","2015-11-26","200-05-05","1999-12-12"]

combobox1
    2014-10-26
    2010-05-05
    1991-12-12
    2015-11-26
    2000-05-05
    1999-12-12

user choose 1991-12-12, in the combobox2 will be like 

combobox2:
2015-11-26
2000-05-05
1999-12-12

1 个答案:

答案 0 :(得分:0)

要创建选择,您需要使用choice field

YEAR_IN_SCHOOL_CHOICES = (
('FR', 'Freshman'),
('SO', 'Sophomore'),
('JR', 'Junior'),
('SR', 'Senior'),
)

myfield = forms.ChoiceField(choices=YEAR_IN_SCHOOL_CHOICES)

只需修改您发送的参数作为选项。第一个值将是您选项中的值,第二个值将是显示的文本:

<option value="FR">Freshman</option>

您可以使用Jquery在客户端使用change event

执行此操作
$( "select" )
  .change(function () {
    var str = "";
    $( "#mySelectId option:selected" ).each(function() {
        if(this_shouldnt_show){
              $(this).hide();
        }
        else{
              $(this).show();
        }
    });
  });

您只需要弄清楚发生这种情况的条件,但这取决于您在值字段中使用的内容。如果您需要比较日期check this question then