【问题标题】:angularjs ng-model in select选择中的angularjs ng-model
【发布时间】:2023-03-18 16:36:01
【问题描述】:

我陷入了一个愚蠢的问题,但我不知道如何继续,所以我希望你们中的某个人能给我帮助。 我的问题是我有一个元素列表,我可以访问它们中的每个人,我可以在其中加载元素的特定数据。在这个视图中,我可以从 REST 后端调用加载数据,并且可以正常工作,我遇到的问题是当我必须加载带有 select 标记的列表时,并且我正在使用 ng-model 和 ng 选项。我想在该列表中加载该元素此时选择的数据,但是当我尝试将我从后端提供的数据放入 ng-model 时,这不起作用,而是如果我初始化相同的元素工作的服务调用后端,我可以看到选择的元素。该服务正在运行,因为我可以看到元素的每个值,即使我尝试获取特定值,如果我将它放在一个段落中,我也可以看到它。提前致谢。

这是我加载列表的地方:

  self.AzionePropostaLista=[
      {  qsAzioneProposta:'SENSIBILIZZAZIONE', value: 'SENSIBILIZZAZIONE'},
      {  qsAzioneProposta:'INIBIZIONE MANUAL ENTRY', value: 'INIBIZIONE MANUAL ENTRY'},
      {  qsAzioneProposta:'INIBIZIONE BANDA', value : 'INIBIZIONE BANDA'},
      {  qsAzioneProposta:'INIBIZIONE COMPLETA', value : 'INIBIZIONE COMPLETA'},
      {  qsAzioneProposta:'REVOCA', value : 'REVOCA'},
      {  qsAzioneProposta:'RINUNCIA', value :'RINUNCIA'},
      {  qsAzioneProposta:'SBLOCCO', value :'SBLOCCO'},
      {  qsAzioneProposta:'COMUNICAZIONE INTERNA', value :'COMUNICAZIONE INTERNA'},
      {  qsAzioneProposta:'AUTOFIN.SOSPETTATO', value : 'AUTOFIN.SOSPETTATO'},
      {  qsAzioneProposta:'VALUTATO SENZA RISCHIO', value :'VALUTATO SENZA RISCHIO'}
    ];

这是我从后端服务检索的数据:

self.condition: "SENSIBILIZZAZIONE"

  MerchantService.getThisAction({qs_key:$routeParams.qs_key,qs_data_proposta:formatData},function(response){
        if(response.statusCode==0){
          self.action = response.data; 
          self.condition = response.data.qsAzioneProposta; THIS DOESN'T WORK BUT I CAN SEE THAT VALUE
          $log.debug("self.condition is"+self.condition);
          
        }
        else {
          sweetAlert('Error','something missing or you are trying to acces an inexistent merchant', 'error');
          $location.path("/home");
        }
      });


    // self.condition = 'SENSIBILIZZAZIONE' THIS WORK
  <div class="input-field col s4">
   <select ng-model="$ctrl.condition"  ng-options="azione.value as azione.qsAzioneProposta for azione in $ctrl.AzionePropostaLista"></select>
<label>Suggested action</label>
</div>

【问题讨论】:

    标签: angularjs angular-ngmodel ng-options


    【解决方案1】:

    【讨论】:

    • 请将其发布在您的问题中,并以文字而非图片的形式发布
    【解决方案2】:

    因此,您的 ng-model 聚合了 azione.value 和 ng-options:

    变化:

    self.condition = response.data.qsAzioneProposta;
    

    到:

    self.condition = response.data.value; 
    

    DEMO

    【讨论】:

    • 这是没有意义的,因为我没有一个名为 value 的字段。只是我正在检索值,但我不明白为什么如果我从后面获取值不起作用,如果我在服务调用中做同样的事情,调用自己编写字符串,就像下面的 self.condition代码,那行得通。
    • @AntonioPraticò 好吧,在您的问题中,您使用ng-options="azione.value as ... 发布了代码
    • ng-options="azione.qsAzioneProposta as azione.qsAzioneProposta for azione in $ctrl.AzionePropostaLista" 应该这样做
    • 因为我也需要 ng-options 中的值,所以我用列表的数组编辑了帖子。
    • @AntonioPraticò 那么问题出在哪里? plnkr.co/edit/slDQkk4EdtZXMBKmrIwj?p=preview
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 2017-01-31
    • 2016-03-08
    相关资源
    最近更新 更多