2017-08-16 15 views
0

私は小さなフォームを持っており、そのフォームにはドロップダウンリストがあります。リストアイテムは動的に生成されます。angle:動的なドロップダウンリストを含むフォームsubmit

$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を渡すことができません。

以下のエラーが発生しています。

はTypeError:プロパティを読み取ることができません未定義

の「のjob_title」私はドロップダウンidと値を持つフォームを送信する方法を教えてください。

+0

あなたがデータをこのように設定しようとしています。データを:JSON.stringify(allData33) 、 –

+0

これはなぜ存在するはずですか? $ scope.jobss.SelectedOption。あなたは何も書いていないので、このオブジェクトは定義されていません – Vitalii

+0

ng-model = "job"を選択しているので、$ scope.jobを使用しようとしましたか? – Markus

答えて

0

この例では、ジョブ項目をスコープフィールド "job" =>ng-model="job"、 に設定します。選択した項目はすべて$scope.jobでアクセス可能です。

良いヘルパーいつでもある、あなたのhtmlに$scope.job.job_titleまたは$scope.job.job_id

印刷を試してみてください:Full job item: {{job | json}}

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

関連する問題