我需要动态填充一些文本框一个数组包含标签,第二个数组包含我要用来填充的值
Array ( [Enquiry] => Enquiry [Application Sent] => Application Sent [Application Received] => Application Received [Interview Booked] => Interview Booked [Offer Made] => Offer Made [Offer Accepted] => Offer Accepted [Deposit Paid] => Deposit Paid ) 1
Array ( [0] => 10 [1] => [2] => [3] => [4] => [5] => 5 [6] => ) 1
文本框是基于第一个数组创建的,我需要检查第一个数组中的位置,并用第二个数组中相应索引的值填充文本框中的值。因此询价的价值为10,接受报价的价值为5等。
如何在下面的智能代码中做到这一点?我以前从未真正和smarty合作过。
<input type="hidden" id="{{if empty($displayParams.idName)}}{{sugarvar key='name'}}{{else}}{{$displayParams.idName}}{{/if}}_multiselect"
name="{{if empty($displayParams.idName)}}{{sugarvar key='name'}}{{else}}{{$displayParams.idName}}{{/if}}_multiselect" value="true">
{multienum_to_array string={{sugarvar key='options' string=true}} default={{sugarvar key='default' string=true}} assign="values"}
{$values|@print_r}
{multienum_to_array string={{sugarvar key='value' string=true}} default={{sugarvar key='default' string=true}} assign="vals"}
{$vals|@print_r}
{foreach from=$values key=k item=item}
{if @in_array($k, $vals)}
{assign var=v value=true}
{else}
{assign var=v value=false}
{/if}
<input size="2" type="text" id="" name="{{if empty($displayParams.idName)}}{{sugarvar key='name'}}{{else}}{{$displayParams.idName}}{{/if}}[]" value="{ {{sugarvar key='value' string=true}}.$item }" />% <label>{ {{sugarvar key='options' string=true}}.$item }</label><br />
{/foreach}
为什么要创建2个数组?我认为创建下面这样的1个数组会对你的更好
Array (
[Enquiry] => '10' ,
[Application Sent] => '',
[Application Received] => '',
[Interview Booked] => '',
[Offer Made] => '',
[Offer Accepted] => '5',
[Deposit Paid] => ''
)
然后像下面这样处理阵列:-
如果$myArray包含上述数组,则
{foreach from=$myArray key=k item=val}
<li>{$k}: {$val}</li>
{/foreach}
$k定义关键字,$val定义$myArray数组的值