2017-07-11 44 views
0

我想拉一个PHP变量($ purpose)并在选项选择中显示它。当我拿出元素属性ng-model =“purpose”时,我拥有的代码(见下文)才起作用。如果我放置了ng模型,选项select显示Purpose,这表明php echoinng没有通过。它似乎呼应php变量和使用angularjs相互冲突。有没有人有这个问题?有没有解决方法?angularjs干扰回调php变量

<select id="purpose" class="form-control custom-select" name="purpose" value="<?php if(isset($purpose) or !empty($purpose)) {echo $purpose;}?>" ng-model="purpose" autocomplete="on" required/> 
    <option <?php if($purpose == "") echo 'selected';?> value="">Purpose</option> 
    <option <?php if($purpose == "1030") echo 'selected';?> value="1030">1Exchange</option> 
    <option <?php if($purpose == "1040") echo 'selected';?> value="1040">Non-exchange</option> 
    <option <?php if($purpose == "1050") echo 'selected';?> value="1050">Financing</option> 
</select> 

回答

0

使用NG-模式时,不要使用属性。只是初始化一个变量目的 &分配PHP变量给它。如下所示:

<select ng-init="purpose = <?php if(isset($purpose) or !empty($purpose)) {echo $purpose;}?>" id="purpose" class="form-control custom-select" name="purpose" ng-model="purpose" autocomplete="on" required/> 
     <option <?php if($purpose == "") echo 'selected';?> ng-value="">Purpose</option> 
     <option <?php if($purpose == "1030") echo 'selected';?> ng-value="1030">1Exchange</option> 
     <option <?php if($purpose == "1040") echo 'selected';?> ng-value="1040">Non-exchange</option> 
     <option <?php if($purpose == "1050") echo 'selected';?> ng-value="1050">Financing</option> 
    </select> 
+0

嗨,我试过你的代码,它没有工作。 – javystar

+0

我更新了答案 –

0

虽然您可能能够使用此样式来使用它,但建议使用JSON将数据从后端填充到角度。

<?php 
$purpose_arr = array(
    "1030" => "1Exchange", 
    "1040" => "Non-exchange", 
    "1050" => "Financing" 
); 

echo "<script> var purpose='" + json_encode($purpose_arr) + "'; </script>" 
?> 

html: 
<select id="purpose" class="form-control custom-select" name="purpose" ng-model="purpose" autocomplete="on" required 
    ng-options="value as key for (key, value) in purpose" /> 
    <option value="">Purpose</option> 
</select> 

controller: 
$scope.purpose = purpose;