Я разрабатываю один интерфейс на Perl / Tk.
В этом я использую одну опцию для перечисления имен пользователей.
А при выборе пользователя из опционного меню должна отображаться соответствующая дата рождения сотрудника.
И я должен иметь возможность обновить дату рождения выбранного пользователя.
Я написал следующий код.
</p>
<pre><code>$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 используется для получения идентификатора и имени сотрудника с использованием имени сотрудника.
Он возвращает правильный идентификатор и доб.
Потом я отредактировал док сотрудника.
И я вызываю функцию Add_Birthday, чтобы сохранить изменения в базе данных.
Но в этом и заключается проблема: переменная $ select_value всегда имеет значение имени в optionmenu.
На самом деле он должен иметь значение последнего выбранного элемента в опциональном меню.
Так в чем же проблема в этом коде,
Пожалуйста, дайте решение и для этого.
Заранее спасибо.