php中的预设选择值
嗨,我有一个从控制器发送到页面的信息列表,这是php中的预设选择值,php,codeigniter,Php,Codeigniter,嗨,我有一个从控制器发送到页面的信息列表,这是 [creditCardList] => array(6) ( [0] => stdClass object { text_code => (string) 1 text_value => (string) Visa } [1] => stdClass object { text_code => (string) 2 text_value =
[creditCardList] => array(6) (
[0] => stdClass object {
text_code => (string) 1
text_value => (string) Visa
}
[1] => stdClass object {
text_code => (string) 2
text_value => (string) MasterCard
}
[2] => stdClass object {
text_code => (string) 3
text_value => (string) Eurocard
}
[3] => stdClass object {
text_code => (string) 4
text_value => (string) Amex
}
[4] => stdClass object {
text_code => (string) 5
text_value => (string) Diners
}
[5] => stdClass object {
text_code => (string) 6
text_value => (string) Other
}
)
在html页面中,我想预设加载的值是text_code 1,也就是VISA,但我无法实现。下面是html代码。
我试着写$creditCardList->text\u code[1]
,但没有成功
<select name="credit_card_select" id="my_profile_select_credit_card" class="form-control country_style">
<?php
if(!($userriskrate['credit_card_type'] > 0)){
echo '<option value="' . $creditCardList->text_code[1]. '">' . $creditCard->text_value . '</option>';
foreach ($creditCardList as $creditCard){
echo '<option value="' . $creditCard->text_code. '">' . $creditCard->text_value . '</option>';
}
}else{
foreach ($creditCardList as $creditCard){
echo '<option value="' . $creditCard->text_code. '"';
if($creditCard->text_code == $userriskrate['credit_card_type']){
echo 'selected';
}
echo '>' . $creditCard->text_value .'';
echo '</option>';
}
}
?>
</select>
您应该将其用作信用卡[i],因为它有一个数组()
echo“”$creditCardList[0]->文本_值。“”;
这将给予u visa作为visa的价值
显示预选值以外的值的步骤
<?php
if(!($userriskrate['credit_card_type'] > 0)){
echo '<option value="' . $creditCardList[0]->text_code. '">' . $creditCard[0]->text_value . '</option>';
$presetvalue = $creditCardList[0]->text_code;
foreach ($creditCardList as $creditCard){
if($presetvalue !== $creditCard->text_code)
{
echo '<option value="' . $creditCard->text_code. '">' . $creditCard->text_value . '</option>';
}
}
}
您的错误在这里:echo'$信用卡->文本_值。“代码>
其需要是:
echo '<option value="' . $creditCardList[0]->text_code. '">' . $creditCard[0]->text_value . '</option>';
echo“”$信用卡[0]->文本_值。“;
我在这里重构了代码:
if(!($userriskrate['credit_card_type'] > 0)) $selector = 'VISA'; else $selector = $userriskrate['credit_card_type'];
foreach ($creditCardList as $creditCard){
if($creditCard->text_value == $selector) $selected='SELECTED'; else $selected='';
echo '<option value="' . $creditCard->text_code. ' '.$selected.'">' . $creditCard->text_value . '</option>';
}
if(!($userriskrate['credit_card_type']>0))$selector='VISA';else$selector=$userriskrate['credit_card_type'];
foreach($creditCardList作为$creditCard){
如果($creditCard->text_value==$selector)$selected='selected',否则$selected='';
回显“.$creditCard->text_value.”;
}
嘿,谢谢,它很管用!!!当时间限制结束时,我将接受答案,并想再问一个问题,如果我想限制,使其仅显示visa卡和master卡,我该如何做?只需添加两行:$autorizedValues=array('visa','MasterCard')代码>和循环中的如果(!in_数组($creditCard->text_value,$autorizedValues)继续;
那么当text_value
不在$autorizedValues
记录中时,它将跳过it@Farhana对不起,我写了信用卡[0]->text\u值而不是信用卡列表[0]->text_值。文本代码部分是正确的。非常感谢您的更正:D它显示它可以工作,但现在我有两个Visa,因为一个是预完成的,另一个在下拉菜单中。有没有关于如何修复dat的线索?@Farhana抱歉,又犯了一个愚蠢的错误。请检查我编辑的ans
if(!($userriskrate['credit_card_type'] > 0)) $selector = 'VISA'; else $selector = $userriskrate['credit_card_type'];
foreach ($creditCardList as $creditCard){
if($creditCard->text_value == $selector) $selected='SELECTED'; else $selected='';
echo '<option value="' . $creditCard->text_code. ' '.$selected.'">' . $creditCard->text_value . '</option>';
}