使用按钮链接下拉值以选择下拉列表的值

时间:2017-11-07 03:09:24

标签: javascript jquery html css

您好我想设计一个下拉列表,它取值范围为10,20,30,50,70,100,150,200,300,700,1000,2000和5000.我还想要两个按钮,我可以为其分配value_up或value_down。这将获得如上所述的价值范围。下拉将允许用户手动选择上面设置的值,其中value_up或value_down将允许增加或减少上述范围的值。你能帮我用javascript实现这个目的吗?我有一个基本的功能写在这里,它没有做上面解释的功能。

使用Javascript:

var sensitivityFlag = 0;

from tkinter import Tk, Label, StringVar
from tkinter.ttk import Button, Entry

class Timer:
    def __init__(self, master):
        self.seconds = 0
        self.time = StringVar()
        self.time_label = Label(master, relief='flat', font=("Cambria", 20),
                                textvariable=self.time)

        self.hr = StringVar()
        self.hr_label = Label(master, text='Hours:').grid(row=1, column=1, padx=5, pady=1)
        self.entry_hr = Entry(master, textvariable=self.hr, width=4)
        self.entry_hr.grid(row=1, column=2)

        self.mins = StringVar()
        self.min_label = Label(master, text='Minutes:').grid(row=2, column=1, padx=5, pady=1)
        self.entry_min = Entry(master, textvariable=self.mins, width=4)
        self.entry_min.grid(row=2, column=2)

        self.secs = StringVar()
        self.secs_label = Label(master, text='Seconds:').grid(row=3, column=1, padx=5, pady=1)
        self.entry_sec = Entry(master, textvariable=self.secs, width=4)
        self.entry_sec.grid(row=3, column=2)

        self.time.set('00:00:00')
        self.start_button = Button(master, text='Start')
        self.start_button.bind('<Button-1>', self.start_countdown)

        self.time_label.grid(row=0, columnspan=4, padx=30, pady=10)
        self.start_button.grid(row=4, columnspan=4, pady=(10,20))

    def set_time(self, hours, minutes, seconds):
        self.seconds = hours * 3600 + minutes * 60 + seconds
        self.time.set(self.format_time(self.seconds))

    def start_countdown(self, event):
        h = self.entry_hr.get()
        m = self.entry_min.get()
        s = self.entry_sec.get()
        h,m,s = map(lambda x: int(x) if x else 0, (h,m,s))
        self.set_time(h,m,s)
        self.countdown()

    def countdown(self):
        if self.seconds <= 0:
            return
        self.time.set(self.format_time(self.seconds))
        self.seconds -= 1
        self.time_label.after(1000, self.countdown)

    def format_time(self, seconds):
        h = seconds // 3600
        m = (seconds - h*3600) // 60
        s = seconds - h*3600 - m*60
        return '{:0>2}:{:0>2}:{:0>2}'.format(h,m,s)

if __name__ == '__main__':
    root = Tk()
    timer = Timer(root)
    root.mainloop()

1 个答案:

答案 0 :(得分:2)

要提高“敏感度”值,您可以参考我的sample code here

function value_Up()
{
  var sensitivity=document.getElementById("sensitivitySelect");
  if (sensitivity.selectedIndex<(sensitivitySelect.options.length-1))
    sensitivity.selectedIndex++;
}