2017-08-16 51 views
0

我有一個小窗體,並在該窗體中我有一個下拉列表。列表項是動態生成的。角度:表單提交與動態下拉列表

$http({ 
    url: 'alljobs.php', 
    method: "GET", 
    params: { 
     uid: viewer_id 
    } 
}).success(function(data) { 
    $scope.jobss = data.content; 
}); 

下面是表單提交的代碼。

$scope.formprofile33 = function() { 
    var allData33 = { 
     'msg': $scope.msg, 
     'emp_id': viewer_id, 
     'job_id': job.job_id, 
     'job_title': $scope.jobss.SelectedOption.job_title, 
     // 'job':job, 
     'user_id': user_id 
    } 

    $http({ 
     method: 'POST', 
     url: 'send_msg.php', 
     data: allData33, 
     headers: { 
      'Content-Type': 'application/x-www-form-urlencoded' 
     } 
    }).success(function(data) { 
     if (!data.success) { 
      $scope.message = data.errors.message; 
     } else { 
      $scope.message = ''; 
      alert('Your message has been sent.'); 
      $scope.message = ''; 
     } 
    }); 
}; 

這裏是表格。

<form name="formProfile33" method="post" id="formProfile33" role="form" ng-submit="formprofile33()"> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-xs-12"> 
       <div class="row"> 
        <div class="col-xs-10">           
         <div class="col-xs-12 s_ma"> 
          <select id="job" name="job" class="search_color selectors form-control" ng-model="job" required="required" ng-options="item.job_title for item in jobss track by item.job_id"> 
           <option value=""> Select Job *</option>  
          </select> 
         </div> 
         <textarea name="msg" ng-model="msg" class="form-control textbox1" id="msg" placeholder="Write your message" required="required" rows="3"></textarea> 
        </div> 
       </div> 
      </div> 
     </div> 
     <center> 
      <button type="submit" class="btn btn-home" name="btn-save1" id="btn-save1" required="required"><i class="icon ion-email"></i> Send Message </button> 
     </center> 
    </div> 
</form> 

問題是我不能在表單提交時傳遞下拉值和id。

我得到下面的錯誤。

類型錯誤:無法讀取的不確定

請告知我如何提交表單與下拉的id和值屬性「JOB_TITLE」。

+0

你試圖這樣一組數據:數據:JSON.stringify(allData33) , –

+0

爲什麼這應該存在? $ scope.jobss.SelectedOption。你不寫任何東西,所以這個對象是未定義的 – Vitalii

+0

因爲你有選擇ng-model =「job」,你有沒有試過使用$ scope.job? – Markus

回答

0

您的示例將作業項目設置爲範圍字段「job」=>ng-model="job", 完整選定的項目可通過$scope.job訪問。

嘗試$scope.job.job_title$scope.job.job_id

打印出你的HTML是隨時隨地的好幫手:Full job item: {{job | json}}

https://plnkr.co/edit/VenFVchI0brGZNC2Q7Fn?p=preview