HTML-ni tanlash opsiyasi nomini oling

Tanlov opsiyasidan name ni olishni istayman, lekin kodoidda ko'rsatilganday bo'sh ko'rinadi. Agar value ni olishda ishlasa, shuning uchun men xuddi shu tarzda name ni olishni xohlayman.

As you can see, name is different for each option so it cannot be added in the

1
@haxxxton backend - belgilariga bo'linib, har bir komponentni o'qib, name ni ajratadi. Agar birinchi komponent emas, balki bo'lsa, unda SQL kodi yo'q. so'rovlar, va hokazo. So'rovlar uchun boshqa shunga o'xshash modifikatorlar mavjud, bu faqat bitta misol.
qo'shib qo'ydi muallif dtgq, manba
@haxxxton backend - belgilariga bo'linib, har bir komponentni o'qib, name ni ajratadi. Agar birinchi komponent emas, balki bo'lsa, unda SQL kodi yo'q. so'rovlar, va hokazo. So'rovlar uchun boshqa shunga o'xshash modifikatorlar mavjud, bu faqat bitta misol.
qo'shib qo'ydi muallif dtgq, manba
@haxxxton backend - belgilariga bo'linib, har bir komponentni o'qib, name ni ajratadi. Agar birinchi komponent emas, balki bo'lsa, unda SQL kodi yo'q. so'rovlar, va hokazo. So'rovlar uchun boshqa shunga o'xshash modifikatorlar mavjud, bu faqat bitta misol.
qo'shib qo'ydi muallif dtgq, manba
bu ehtimol sizning HTML shaklingizdan do'zaxni chalkashtirib yuboradi. variant ning odatda "nom" qismlariga ega emas. Agar siz name dan foydalanib variantni orqali nimaga harakat qilayotganingizni tushuntira olasizmi?
qo'shib qo'ydi muallif haxxxton, manba
value atributidan foydalanishingiz mumkinmi? yoki boshqa biror narsa uchun kerakmi? Shu bilan bir qatorda name name bilan name ni ishlatsangiz gizli sizning keyingi echimingiz uchun dinamik ravishda yaratilgan, chunki sizning hozirgi yechingiz sizni IMO janjaliga olib keladi
qo'shib qo'ydi muallif haxxxton, manba
value atributidan foydalanishingiz mumkinmi? yoki boshqa biror narsa uchun kerakmi? Shu bilan bir qatorda name name bilan name ni ishlatsangiz gizli sizning keyingi echimingiz uchun dinamik ravishda yaratilgan, chunki sizning hozirgi yechingiz sizni IMO janjaliga olib keladi
qo'shib qo'ydi muallif haxxxton, manba
value atributidan foydalanishingiz mumkinmi? yoki boshqa biror narsa uchun kerakmi? Shu bilan bir qatorda name name bilan name ni ishlatsangiz gizli sizning keyingi echimingiz uchun dinamik ravishda yaratilgan, chunki sizning hozirgi yechingiz sizni IMO janjaliga olib keladi
qo'shib qo'ydi muallif haxxxton, manba
bu ehtimol sizning HTML shaklingizdan do'zaxni chalkashtirib yuboradi. variant ning odatda "nom" qismlariga ega emas. Agar siz name dan foydalanib variantni orqali nimaga harakat qilayotganingizni tushuntira olasizmi?
qo'shib qo'ydi muallif haxxxton, manba

7 javoblar

Ehtimol sizda chalkashliklar bor. variant tagida nom atributi yo'q . Ism xususiyati pick yorlig'i ichida mavjud bo'lishi mumkin.

Qaysi tanlov tanlanganligini bilmoqchi bo'lsangiz, change hodisasini tanlash elementini tinglashingiz va value attribue ni olishingiz kerak. Bu yerga ko'ring.

Yoki siz ma'lumotlar to'plamiga o'xshash biror narsani tekshirib ko'rishingiz mumkin, lekin har doim change voqea.

2
qo'shib qo'ydi
Ha, shuni bilamanki, data - dan foydalanishga yo'l qo'ymaslik uchun mening savolimda aynan shu narsa aytilgan va shuning uchun nima dedim. Voqealar tinglovchilari buning uchun haddan tashqari tuyuladi. Sen kechirim so'ramasliging kerak. Biroq, bu ikki echimga javob beradigan uchta saylovchi haqiqiy ish echimiga ega bo'lgan ikkita javobdan ko'ra ko'proq e'tiborga loyiq deb o'ylashadi.
qo'shib qo'ydi muallif dtgq, manba
Okey. Bu haqida uzr. Ammo bu g'alati savol. rasmiy spec ga qarang. Variantda nom atributi yo'q. Agar ma'lumot to'plamidan foydalanishni xohlasangiz, to'g'ri yo'llardan biri.
qo'shib qo'ydi muallif Santiago Barchetta, manba

Ehtimol sizda chalkashliklar bor. variant tagida nom atributi yo'q . Ism xususiyati pick yorlig'i ichida mavjud bo'lishi mumkin.

Qaysi tanlov tanlanganligini bilmoqchi bo'lsangiz, change hodisasini tanlash elementini tinglashingiz va value attribue ni olishingiz kerak. Bu yerga ko'ring.

Yoki siz ma'lumotlar to'plamiga o'xshash biror narsani tekshirib ko'rishingiz mumkin, lekin har doim change voqea.

2
qo'shib qo'ydi
Ha, shuni bilamanki, data - dan foydalanishga yo'l qo'ymaslik uchun mening savolimda aynan shu narsa aytilgan va shuning uchun nima dedim. Voqealar tinglovchilari buning uchun haddan tashqari tuyuladi. Sen kechirim so'ramasliging kerak. Biroq, bu ikki echimga javob beradigan uchta saylovchi haqiqiy ish echimiga ega bo'lgan ikkita javobdan ko'ra ko'proq e'tiborga loyiq deb o'ylashadi.
qo'shib qo'ydi muallif dtgq, manba
Okey. Bu haqida uzr. Ammo bu g'alati savol. rasmiy spec ga qarang. Variantda nom atributi yo'q. Agar ma'lumot to'plamidan foydalanishni xohlasangiz, to'g'ri yo'llardan biri.
qo'shib qo'ydi muallif Santiago Barchetta, manba

Ehtimol sizda chalkashliklar bor. variant tagida nom atributi yo'q . Ism xususiyati pick yorlig'i ichida mavjud bo'lishi mumkin.

Qaysi tanlov tanlanganligini bilmoqchi bo'lsangiz, change hodisasini tanlash elementini tinglashingiz va value attribue ni olishingiz kerak. Bu yerga ko'ring.

Yoki siz ma'lumotlar to'plamiga o'xshash biror narsani tekshirib ko'rishingiz mumkin, lekin har doim change voqea.

2
qo'shib qo'ydi
Ha, shuni bilamanki, data - dan foydalanishga yo'l qo'ymaslik uchun mening savolimda aynan shu narsa aytilgan va shuning uchun nima dedim. Voqealar tinglovchilari buning uchun haddan tashqari tuyuladi. Sen kechirim so'ramasliging kerak. Biroq, bu ikki echimga javob beradigan uchta saylovchi haqiqiy ish echimiga ega bo'lgan ikkita javobdan ko'ra ko'proq e'tiborga loyiq deb o'ylashadi.
qo'shib qo'ydi muallif dtgq, manba
Okey. Bu haqida uzr. Ammo bu g'alati savol. rasmiy spec ga qarang. Variantda nom atributi yo'q. Agar ma'lumot to'plamidan foydalanishni xohlasangiz, to'g'ri yo'llardan biri.
qo'shib qo'ydi muallif Santiago Barchetta, manba

$ (input) .find (": selected") sizga tanlangan variantni oladi, u yerdan val() va attr() qiymatlarini

    function parseInputs(jqElem, selector = ':input', payload = '') {
      for (let input of $(jqElem).find(selector)) {
        const value = $(input).find(":selected").val();
        const name = $(input).find(":selected").attr("name");
        if (!value) {
          continue
        }
        payload += `&${name}=${value}`;
      }
      return payload.substring(1);
   }
1
qo'shib qo'ydi
Rahmat. Bu yana foydalanish mumkin funktsiyaga biroz qattiq kodlashni talab qiladi, lekin, ehtimol, hozirgi spesifikatsiyani olishning eng yaxshi usuli. Bir savol: Nima uchun const foydalanasiz? Buni let bilan sinab ko'rdim va u ishlaydi, lekin ulardan foydalanish uchun sabab bormi?
qo'shib qo'ydi muallif dtgq, manba
Siz "let", "var" yoki "const" dan foydalanishingiz mumkin, hammasi ishlaydi. Lekin qiymat va nom sifatida ko'rish, ehtimol bu doirada o'zgarmaydi, ularni barqaror qilib belgilash, texnik jihatdan ham, "insoniy" ham eng yaxshi yondashuv hisoblanadi.
qo'shib qo'ydi muallif Joakim Tangnes, manba

$ (input) .find (": selected") sizga tanlangan variantni oladi, u yerdan val() va attr() qiymatlarini

    function parseInputs(jqElem, selector = ':input', payload = '') {
      for (let input of $(jqElem).find(selector)) {
        const value = $(input).find(":selected").val();
        const name = $(input).find(":selected").attr("name");
        if (!value) {
          continue
        }
        payload += `&${name}=${value}`;
      }
      return payload.substring(1);
   }
1
qo'shib qo'ydi
Rahmat. Bu yana foydalanish mumkin funktsiyaga biroz qattiq kodlashni talab qiladi, lekin, ehtimol, hozirgi spesifikatsiyani olishning eng yaxshi usuli. Bir savol: Nima uchun const foydalanasiz? Buni let bilan sinab ko'rdim va u ishlaydi, lekin ulardan foydalanish uchun sabab bormi?
qo'shib qo'ydi muallif dtgq, manba
Siz "let", "var" yoki "const" dan foydalanishingiz mumkin, hammasi ishlaydi. Lekin qiymat va nom sifatida ko'rish, ehtimol bu doirada o'zgarmaydi, ularni barqaror qilib belgilash, texnik jihatdan ham, "insoniy" ham eng yaxshi yondashuv hisoblanadi.
qo'shib qo'ydi muallif Joakim Tangnes, manba

$ (input) .find (": selected") sizga tanlangan variantni oladi, u yerdan val() va attr() qiymatlarini

    function parseInputs(jqElem, selector = ':input', payload = '') {
      for (let input of $(jqElem).find(selector)) {
        const value = $(input).find(":selected").val();
        const name = $(input).find(":selected").attr("name");
        if (!value) {
          continue
        }
        payload += `&${name}=${value}`;
      }
      return payload.substring(1);
   }
1
qo'shib qo'ydi
Rahmat. Bu yana foydalanish mumkin funktsiyaga biroz qattiq kodlashni talab qiladi, lekin, ehtimol, hozirgi spesifikatsiyani olishning eng yaxshi usuli. Bir savol: Nima uchun const foydalanasiz? Buni let bilan sinab ko'rdim va u ishlaydi, lekin ulardan foydalanish uchun sabab bormi?
qo'shib qo'ydi muallif dtgq, manba
Siz "let", "var" yoki "const" dan foydalanishingiz mumkin, hammasi ishlaydi. Lekin qiymat va nom sifatida ko'rish, ehtimol bu doirada o'zgarmaydi, ularni barqaror qilib belgilash, texnik jihatdan ham, "insoniy" ham eng yaxshi yondashuv hisoblanadi.
qo'shib qo'ydi muallif Joakim Tangnes, manba

Bu juda g'alati savol, lekin men bunga qanoat qilmayman. Quyida siz kickass usulini qanday bajarasiz:

function parseInputs(jqElem, selector = ':input', payload = '') {
  payload ="";
  $(jqElem).find(selector).each(function() {
      input = $(this);
      payload += "&"
                + $(this).find("option[value=\"" + input.val() + "\"]").attr("name") //just a heads up, if there is more than one with the same value, this won't work...
                + "=" + 
                input.val();
  });
  return payload;
}

$('#asdf').on('click',() => {
  console.log(parseInputs('#wtf'));
});
0
qo'shib qo'ydi
Bu ishlay boshladi. Men buni eng yaxshi echim deb bilmayman (hali mantiq bilan o'qiyapman) va men sizni hech kimga izoh bermasdan nima uchun pastga tushirganiga amin emasman, lekin u ishlayotgani uchun kamida ovoz berishga loyiqdir.
qo'shib qo'ydi muallif dtgq, manba
Menimcha, bu eng yaxshi yechim, lekin bu funktsiya aslida ona HTMLda mavjud emas. Uzr, mate; Umid qilamanki siz yaxshiroq yechim topasiz.
qo'shib qo'ydi muallif Neil, manba