Rumah  >  Soal Jawab  >  teks badan

javascript - Pemotongan rentetan, tiada idea...

Seperti yang ditunjukkan dalam gambar:
Ini ialah jadual dengan pilihan di dalamnya. Kini kami telah memperoleh rentetan tentang nilai semua menu lungsur.
Saya mahu memotongnya menjadi data berasingan dan menyimpannya dalam tatasusunan Saya tidak tahu pada masa ini

**

Soalan pertama:

**

Rentetan yang diperolehi ialah: "Penyelesaian akhir akhir tahun 2005 kutipan diluluskan dan prabayaran - bulanan 2016, sila pilih kutipan audit dan prabayaran - suku tahunan 2008 kutipan diluluskan suku keempat".
Dalam erti kata lain, semua nilai yang dipilih oleh pilihan disambungkan bersama dan saya tidak tahu untuk memisahkannya.
Akhirnya saya nak buat

[{type:"年终汇算",time1:"2005年",time2:"",fangs:"核定征收"},{type:"预缴-月度",time1:"2016年",time2:"2月",fangs:"查账征收"},{type:"预缴-季度",time1:"2008年",time2:"第四季度",fangs:"查账征收"}]

Ini yang saya nak simpan akhirnya.

**

Soalan kedua:

**

Untuk pilihan ini, jika pengguna tidak memilih, "Sila pilih" akan dipaparkan. Bagaimanakah kita boleh menilai sama ada "Sila pilih" muncul dalam nilai ini? (Dengan kata lain, anda tidak boleh menyerahkan tanpa memilihnya. Anda mesti memilih setiap pilihan sebelum anda boleh menyerahkan data storan).

PS: 1. Pilihan suku tahunan dan bulanan saya adalah berbeza Yang teratas adalah pautan tahap kedua, dan bahagian bawah untuk suku bulanan adalah pautan tahap ketiga 2. Pilihan saya ditulis dalam trtd jadual. dan ini semua Terdapat butang "Tambah" yang dijana secara dinamik.


Maaf saya terlupa nak sebut dua point ni tadi, saya tambah sahaja -.-

女神的闺蜜爱上我女神的闺蜜爱上我2683 hari yang lalu720

membalas semua(2)saya akan balas

  • 淡淡烟草味

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

    1. Sangat tidak disyorkan untuk menggunakan segmentasi Anda harus mencari cara untuk mengoptimumkan item "dipilih" supaya medan ini berstruktur secara semula jadi.

    Jika anda menggunakan kaedah segmentasi, kos penyelenggaraan akan menjadi sangat tinggi pada masa hadapan.

    Jika anda berkeras untuk menggunakan kaedah biasa, anda perlu menggunakan "-" terlebih dahulu untuk memotong tali.
    Untuk setiap rentetan, padankan "pengiraan akhir tahun", "bulanan", "suku tahunan", dsb., dapatkan jenisnya, kemudian teruskan padankan masa, dan kemudian padankan taring

    2. Dalam kod penyerahan borang, dapatkan nilai setiap pilihan secara bergilir-gilir dan nilaikan kesahihannya. Malah, ini juga merupakan pendekatan biasa.

    balas
    0
  • typecho

    typecho2017-06-14 10:55:26

    Pemilihan drop-down dan idea nilai

    Berikut adalah pemikiran saya

    • Setiap baris contoh mempunyai value对象,如:this.value = {};

    • select dalam baris menggunakan nilai angka standard untuk membandingkan subskrip tatasusunan bagi memastikan ketepatan nilai;

    • Setiap selectchange 事件都会修改一个对应的值,如:第一个 select.type 选中时,在联动代码之前添加 this.value.type = $type[0].value change akan mengubah suai nilai yang sepadan Contohnya: apabila select.type yang pertama dipilih, tambahkan ini sebelum kod pautan. type = $type[0].value - Gantikan sendiri pembolehubah yang sepadan;

    • Gunakan medan tersembunyi untuk mengurus output, seperti:
    • <input type="hidden" name="name[]" />

      Anda boleh menggunakan sebarang format data Secara peribadi, adalah disyorkan untuk menggunakan nombor sebanyak mungkin, seperti:
    • // 数组
      this.value = [1,1,1,0]; // 预缴-月度|2016年|1月|查账征收
      
      // 对象
      this.value = {
          type: 2, // 预缴-季度
          years: 1, // 2016年
          time: 3, // 第四季度
          fangs:1 // 核定征收
      };
    Yang terakhir

    akan menjana data yang tersedia untuk digunakan dalam borang apabila dipilih, seperti:

    $fangs.on('change.app', $.proxy(function(e){
        // 添加值
        this.value.fangs = $fangs[0].value;
        
        // 生成表单值
        this.$output.val(JSON.stringify(this.value));
    }, this));

    Mengenai pengesahanselect.fangs

    Melanjutkan

    kaedah pengesahan

    , seperti:

    Kandungan memantau kesahihan borang dan mengembalikan nilai Boolean, seperti: AppRow.prototype.validate(),该方法根据 this.value

    Adakah objek kosong dahulu? Jika ya, bermakna
      pertama dalam baris ini ialah Sila pilih dan kembalikan false
    • select请选择,返回 false

      Jika .type - 0 - Pengiraan Tahunan (yang pertama
    • ) dipilih, dapatkan objek AppRow.typeChose[this.value.type]
    • .type - 0 - 年度汇算(第一个 select),则获取 AppRow.typeChose[this.value.type]

      Objek itu tidak wujud, menunjukkan bahawa ia mungkin di luar batasan, jika ia tidak wujud sama sekali
    • AppRow.typeChose[4], 返回 false

      Mengikut bilangan borang berikutnya yang sepadan dengan
    • jenis semasa yang dipilih, iaitu jenis semasa harus mempunyai beberapa anak yang berkaitan
    • AppRow.typeChose[this.value.type].types 得出 typeSubLen

      jika
    • (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

    • !this.value.fangsthis.value.fangs === -1,返回 false

      Jika semua syarat dipenuhi, kembalikan
    • true

      balas
      0
  • Batalbalas