Я разрабатываю один интерфейс в Perl/Tk.
В том, что я использую один optionmenu для перечисления имен пользователей.
И при выборе пользователя из optionmenu он должен отображать соответствующую дату рождения сотрудника.
И я должен иметь возможность обновлять дату рождения выбранного пользователя.Perl/Tk: Получение выбранного значения меню опций
Я написал следующий код.
$dob_label = $form_name -> Label(-text=>"BirthDay")->place(-x=>150,-y=>200);
$dob=$form_name->DateEntry(-width=>11,-parsecmd=>\&parse,-formatcmd=>\&format)->place(-x=>250,-y=>200);
$ename = $form_name->Optionmenu(-variable=>\$select_value,-options => [@names],
-command=>sub {&get_id_date($hash_ref,$eid,$dob,$_[-1])})->place(-x=>250, -y=>100);
$post_button=$form_name->Button(-text=>"Add",-command=>[\&Add_Birthday,$select_value,$dob,"edit"])->place(-x=>250,-y=>275);
Функция get_id_date используется, чтобы получить идентификатор и DOB работника, используя имя сотрудника.
Он возвращает правильный идентификатор и добу.
Затем я отредактировал dob сотрудника.
И я вызываю функцию Add_Birthday для сохранения изменений в базе данных. Но в чем проблема в этом случае, переменная $ select_value всегда имеет значение first name в optionmenu. Фактически он должен иметь значение последнего выбранного элемента в меню параметров.
Так что проблема в этом коде,
Пожалуйста, дайте разрешение для этого также.
Заранее спасибо.
Вы использовали '-textvariable' вместо' -variable'? http://search.cpan.org/perldoc?Tk::Optionmenu –
Я тоже пробовал с -textvariable. В то же время я столкнулся с этой же проблемой. – kiruthika