ホームページ  >  に質問  >  本文

JavaScript - 文字列の切断、わかりません...

図に示すように:
これは select を含むテーブルです。これで、すべてのドロップダウン メニューの値に関する文字列を取得できました。
別々のデータに切り出して配列に格納したいのですが、今のところ思いつきませんので、アイデアをください = =

**

最初の質問:

**
取得される文字列は次のとおりです。「2005 年の年末最終決済承認された徴収と前払い - 2016 年月次の監査徴収と前払いを選択してください - 四半期ごとの 2008 年第 4 四半期の徴収承認」。
つまり、select で選択された値はすべてつながっており、それらを切り離すという考えはありません。
ついに作りたいです

リーリー

これが私が最終的に保存したいものです。

**

2 番目の質問:

**

これらの選択肢のうち、ユーザーが選択しない場合は「選択してください」と表示されますが、これらの値に「選択してください」が含まれているかどうかはどのように判断すればよいでしょうか? (つまり、選択せずに送信することはできません。ストレージ データを送信する前に、すべてのオプションを選択する必要があります)。

PS: 1. 私の年次四半期オプションと月次四半期オプションは異なります。一番上のオプションは第 2 レベルのリンケージで、一番下の月次四半期は第 3 レベルのリンケージです。
2. 私の選択はテーブルの trtd に書き込まれます。 、およびこれらは「追加」ボタンで動的に生成されます。

申し訳ありませんが、今この 2 つの点について言及するのを忘れていました。さらにいくつか追加します -.-

女神的闺蜜爱上我女神的闺蜜爱上我2683日前719

全員に返信(2)返信します

  • 淡淡烟草味

    淡淡烟草味2017-06-14 10:55:26

    1. セグメンテーションを使用することは強くお勧めしません。これらのフィールドが自然に構造化されるように、「選択された」項目を最適化する方法を見つける必要があります。

    分割方法を使用すると、将来のメンテナンスコストが非常に高くなります。

    どうしても通常の方法を使用する場合は、最初に「-」を使用して文字列をカットする必要があります。
    各文字列について、「年末計算」、「月次」、「四半期」などを照合し、種類を取得し、さらに時刻を照合し、牙を照合します

    2. フォーム送信コード内で、各オプションの値を順番に取得し、正当性を判断します。実際、これも一般的なアプローチです。

    返事
    0
  • typecho

    typecho2017-06-14 10:55:26

    ドロップダウンの選択と値のアイデア

    以下は私の考えです

    • インスタンスには value对象,如:this.value = {};

    • があります
    • 行内の select は、値の正確性を保証するために標準の数値を使用して配列の添字を比較します。

    • すべての change イベントは、対応する値を変更します。たとえば、最初の select.type が選択されている場合、リンケージ コードの前に this を追加します。 type = $type[0].value - 対応する変数を自分で置き換えます selectchange 事件都会修改一个对应的值,如:第一个 select.type 选中时,在联动代码之前添加 this.value.type = $type[0].value

    • 次のような非表示フィールドを使用して出力を管理します。

      <input type="hidden" name="name[]" />個人的には、次のような任意のデータ形式を使用することをお勧めします。 リーリー

      最後の
    • は、選択するとフォームで使用できる次のようなデータを生成します:
    リーリー

    認証について

    次のような select.fangs検証メソッド

    を拡張します。

    コンテンツはフォームの正当性を監視し、次のようなブール値を返します。

    最初は空のオブジェクトですか? そうであれば、この行の最初の AppRow.prototype.validate(),该方法根据 this.valuePlease select であり、false を返すことを意味します。

      .type - 0 - Annual Calculation (最初の
    • ) を選択した場合は、AppRow.typeChose[this.value.type] オブジェクトを取得します。

      select请选择,返回 falseオブジェクトは存在しません。まったく存在しない場合は、境界外にある可能性があることを示します

    • .type - 0 - 年度汇算(第一个 select),则获取 AppRow.typeChose[this.value.type]選択した

      現在の型に対応する後続のフォームの数に従って、つまり、現在の型には複数の関連する子が必要です
    • AppRow.typeChose[4], 返回 false場合

    • AppRow.typeChose[this.value.type].types 得出 typeSubLen

    • (this.value.length - 1) < typeSubLen 说明长度不足,缺少参数,又或 !this.value.time1 不存在,返回 false

    • this.value.time1 存在,值 === -1!AppRow.typeChose[0].types[this.value.time1],返回 false

    • this.value.time2 存在,值 === -1!AppRow.typeChose[0].types[0].zType_time1[this.value.time1],返回 falseすべての条件が満たされている場合は、戻ります

    • 返事
      0
  • キャンセル返事