PHP - WebCalendar - ochiladigan ro'yxatni tanlash asosida maydonni yashirish

WebCalendar ilovasidan foydalangan holda http://www.k5n.us/webcalendar.php dan foydalaning. qo'shimcha joylar ishlashi uchun ba'zi maxsus tahrirlarni yaratish.

Ayniqsa, ikkita qo'shimcha maydon yaratdim; ulardan biri davlatlarning ochiladigan ro'yxatidir, ikkinchisi esa matn maydoni. Ochilgan ro'yxatdagi variantlardan biri ** OTHER va matn maydoni foydalanuvchining ** OTHER tanlashini tanlashi mumkin.

PHP-dagi ochiladigan ro'yxat va tanlovni quyidagilar bilan belgilash mumkin:

if ($site_extras[1][3] == '**OTHER' )
  { do something to hide html class .other_field }

Men ochiladigan ro'yxatga kiritilgan matn asosida matn maydonini yashirish/ko'rsatmoqchi bo'lgan yo'nalishga biron-bir maslahat berasizmi yoki yo'qmi?

Iltimos, kerakli teglarni tahrirlash va o'chirish/qo'shish. Men bu operatsiyani bajarish uchun kerakli bo'lganlarni tanladim.

EDIT: HTML parchasi

<table class="extra_table" summary="">
            <tr>
              <td class="aligntop bold">*Location:</td>
              <td class="extra_field_input">
                

                </td>
              </tr>
            <tr>
              <td class="aligntop bold">**If Other, Please Specify:</td>
              <td class="extra_field_input">
                <input type="text" size="17" name="Other_County" value="" />
                </td>
              </tr>
0
Agar kimdir dastur uchun tahrirlash fayllariga qarashni istasa, uni savolning havolasini yuklab olishingiz va fayllarni tahrirlash uchun edit_entry.php va site_extras.php. Fayllarda EXTRA_ uchun mag'lubiyatni qidirish va uni yopishingiz kerak. Bilaman, lekin ko'pchilik bu savolga javob bermaydi va bu muammo drag = /
qo'shib qo'ydi muallif Mechaflash, manba
@DavidBarker kiritish nomi va parametr qiymati orqali maqsad qilib olishi mumkinmi? PHP/javascript/jquery bilan yangi boshlovchi ekanligim sababli mening jaholatimni kechir.
qo'shib qo'ydi muallif Mechaflash, manba
@JeffreyBlake Men bu masalaning misollari bilan loyihamning barcha tafsilotlarini berdim, shuning uchun odamlar menga taqdim etadigan kodga asoslanib, jonli misol yaratish uchun yordam berishi mumkinligini o'ylayman. Men oldingi savolni bir necha kun davomida o'tirgani kabi yangitishni xohlamadim va odamlar bunga e'tibor bermaydilar. Men Javoscript bilan bog'liq bo'lgan barcha yordamlardan foydalanishim mumkin, chunki men buni bilmayman.
qo'shib qo'ydi muallif Mechaflash, manba
Bu sohada noyob bo'lmagan sinfdan boshqa xarakteristikaga ehtiyoj bor. PHP'nin bu erga qanday kirganini ko'rmayapman, faqat JS bilan ishlash kerak bo'ladi. Buning uchun siz yaratilgan HTMLning parchasini joylashtirish siz uchun yaxshiroq bo'ladi.
qo'shib qo'ydi muallif David Barker, manba
Hmmmmmmm .... Men sizga yordam berishga harakat qilaman va siz allaqachon javob oldingiz !!!
qo'shib qo'ydi muallif David Barker, manba
Sizning avvalgi savolingizda ushbu qismi qanday hal qilinmaganini tushunmayapman: " stackoverflow.com/questions/7918476/…
qo'shib qo'ydi muallif Jeffrey Blake, manba

1 javoblar

Take a look at this jsfiddle: http://jsfiddle.net/2bt8D/

extra ni farqlash uchun matn maydoniga qo'shimcha sinf qo'shish kerak bo'ldi va kirish/matn maydonini ishga tushirish uchun style = "display: none;" ga sozlang. Agar siz foydalanadigan ramkaga cheklovlar ichida imkon bo'lsa, siz g'olibsiz. (QAYD: JQueryni yozishning aniq usullari bor!)

Jquery bayonoti:

$(function() {
    $("select").change(function() {        
        var selectValue = $(".extra_field_input select").val();

        if (selectValue == "**OTHER") {
            $(".extra_field_input input").show();
            $(".extra").show();
        } else {
            $(".extra_field_input input").hide();
            $(".extra").hide();
        };
    });
});

HTML kerak

<table class="extra_table" summary="">
<tr>
    <td class="aligntop bold">*Location:</td>
    <td class="extra_field_input">
         
    </td>
</tr>
<tr>    
    <td class="aligntop bold extra" style="display:none;">**If Other, Please Specify:</td>
    <td class="extra_field_input">
          <input style="display:none;" type="text" size="17" name="Other_County" value="" />
    </td>
</tr>
</table>
1
qo'shib qo'ydi
har bir jadval PHP bilan avtogeneratsiya qilinadi va sinflar = "extra_table" bilan barcha jadvallar uchun barcha sinflar bir xil nomlar bilan hosil qilinadi va ularning sinfini o'zgartirish uchun ulardan faqat bittasini chiqarib tashlash haqida hech qanday nazorat yo'q.
qo'shib qo'ydi muallif Mechaflash, manba
Jquery veb-kalendar bilan ishlayotganini bilib oldim va men HTML formatidagi sahifani boshqaradigan asosiy .php faylini tahrir qilmoqchiman. Buning uchun har bir kishi uchun qo'shimcha qiymat bilan sinf qo'shimcha hosil qilish uchun extra1 extra2 va hokazo. Shunday qilib, bugungi kunda bularni umid qilaman va hisobot beraman.
qo'shib qo'ydi muallif Mechaflash, manba
Men loyihalarimga qaytayapman, shuning uchun men uni sinab ko'rishimga oz vaqt qolishi mumkin. Lekin mening ovoz berishim yaxshi, mening savollarimga rioya qilishim kerak. Yordam uchun tashakkur.
qo'shib qo'ydi muallif Mechaflash, manba
Afsuski, o'zgarish funksiyasi ishlamaydi, chunki sahifa tanlangan variantni tanlangan maydonda taqdimdan so'nggina yangilamaydi. Amin emasman, nima uchun bu mening dasturim emas. Biroq, uning o'rniga klik vazifasini ishlatib, butun sahifani aniqlayman, shuning uchun foydalanuvchi har tıklattığında, jQuery iborasini o'chiradi. Bundan tashqari, ikkita <td> o'rniga <tr> da ko'rsatish/yashirish funktsiyasidan foydalanishi uchun ota-onaga classnames tayinladim. Yordamingiz uchun tashakkur.
qo'shib qo'ydi muallif Mechaflash, manba
Agar men xato qilmasam, o'zgarish funktsiyasi siz tanlagan element uchun htmlga qaraydi (bu holda "tanlash") va agar qiymat o'zgarib qolsa, u hodisani o'chiradi. Firebugni ishlatib, men ochiladigan tanlovni o'zgartirganimda, HTML tanlangan elementni tanlangan elementni faol ravishda yangilamaydi. Men ham o'zgarish funktsiyasini o'qib chiqdim, va bu taxminiy ishni bajarishga majbur bo'ldi va men uni shu tarzda ishlashni xohlayman, lekin ba'zi sabablarga ko'ra ishonchim komil emas.
qo'shib qo'ydi muallif Mechaflash, manba
qo'shib qo'ydi muallif Mechaflash, manba
Xullas, muayyan elementga hech qanday nayrangbotsiz kancalarsiz qo'rqyapsiz, ushbu elementga xos javascriptni boshqarish qobiliyatini o'ta cheklaysiz. Sizni juda kam imkoniyat bilan qoldirish.
qo'shib qo'ydi muallif David Barker, manba
Buni mantiqiy emas, agar .change tinglovchisi HTML/XHTML yaratilgan tanlov qutisi uchun to'g'ri qo'llanilsa yong'in bo'ladi. Menimcha, ushbu tizim standart DOCTYPE bilan ishlaydi?
qo'shib qo'ydi muallif David Barker, manba
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb

PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin