我正在Perl/Tk中開發一個接口。
因爲我使用一個選項菜單來列出用戶的名稱。
從選項菜單中選擇用戶時,應顯示該員工的相應出生日期。
而且我應該能夠更新所選用戶的出生日期。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用於獲取使用員工的姓名僱員的ID和出生日期。
它返回正確的id和dob。
然後我編輯了僱員的dob。
而我打電話Add_Birthday函數將更改保存到數據庫。 但是,問題在於,變量$ select_value在選項菜單中始終具有名字的值。 實際上它應該具有選項菜單中最後一個選定項目的值。
那麼,什麼是這個代碼的問題,
請給這個解決方案也。
在此先感謝。
你想使用'-textvariable'而不是'-variable'嗎? http://search.cpan.org/perldoc?Tk::Optionmenu – 2010-04-13 12:28:06
我也嘗試過使用-textvariable也是。那時我也遇到了同樣的問題。 – kiruthika 2010-04-13 12:31:04