2017-10-17 7 views
0

誰かが私にヒントを与えることができたら幸いです。 Icは異なる配列フィールドを持つフォームを作成しました。そのうちの1つに2つのドロップダウンがあり、2つ目のドロップダウンのエントリは最初のエントリの選択に依存します。これはオブザーバで簡単に解くことができ、最初のものの選択が変更された後に2番目の値をロードするだけです。これまでのところ問題ありません。AlpacaJS:配列の中に動的に追加されたオブジェクトのオブザーバ

しかし、これは簡単な静的なフィールドセットでこれをテストしても、動的に追加されたフィールドのオブザーバにどう対処する必要があるかわかりませんでした。

また、絶対的ではなく相対的なフィールドに対処するオプションがあるかどうかはわかりません。実際のオブジェクトに常に値を設定する必要があるので、はるかに簡単です。ここで

は、上記の例で使用するパスの小さなフィドル設定https://jsfiddle.net/ygwuxrbk/

{ 
     "schema": { 
      "title": "Erfassung", 
      "type": "array", 
      "items": { 
       "title": "Account", 
       "type": "object", 
       "properties": { 
        "services": { 
         "type": "array", 
         "title": "Services", 
         "required": true, 
         "uniqueItems": true, 
         "items": { 
          "description": "Angebotenen Services des Anbieters", 
          "type": "object", 
          "id": "arr_item", 
          "properties": { 
           "category": { 
            "type": "select", 
            "title": "Service Kategorie", 
            "required": true, 
            "$ref": "#/definitions/categories" 
           }, 
           "service": { 
            "title": "Service", 
            "type": "select", 
            "enum": service["Beauty & Wellness"] 
           } 
          } 
         } 

        } 
       } 
      }, 
      "definitions": { 
       "categories": { 
        "enum": 
        categories 
       }, 
      } 
     }, 
     "options": { 
      "fields": { 
       "category": { 
        "type": "select", 
        "label": "Category", 
        "onFieldChange": function (e) { 
          console.log(this.getValue()); 
        } 
       } 
      } 
     }, 
     "form": { 
      "attributes": { 
       "action": "http://testcompany.com/echo.php", 
       "method": "post" 
      }, 
      "buttons": { 
       "save": { 
        "title": "Save", 
        "click": function(e) { 
         alert(JSON.stringify(this.getValue())); 
         //this.submit(); // submit it via regular HTTP post 
         this.ajaxSubmit(); // submit via ajax 
        } 
       } 
      } 
     } 
    } 
+0

です。私はちょうど間違った経路構造を使用していた。 –

答えて

0

である私は私の問題を発見し[OK]を

    "options": { 
      "items": { 
       "fields": { 
        "services": { 
         "items": { 
          "fields": { 
           "category": { 
            "events": { 
             "change": function() { 
              console.log(this.value); 
             } 
            } 
           } 
          } 
         } 
        } 
       } 
      } 
関連する問題