2017-07-11 42 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;