Hujjatda ba'zi qiymatlar mavjud bo'lsa, elementni ko'rsatish/yashirish uchun jQuery-dan foydalanish

Saytdagi ba'zi bir aniq qiymat bo'lmasa, men elementni yashirishga harakat qilaman. Elementni quyidagicha yashirish mumkin:

$(document).ready(function() {
$("#someid").hide();
});

Lekin qiymatni topsa, uni qanday ko'rsatish mumkin? Men shunga o'xshash biror ishni qilishga harakat qilaman:

$(document).ready(function() {
$("#someid").hide();
$("input[value$='somevaluetobefound']").ready(function() {
    $("#someid").show();
});
});

Men noto'g'ri ish qilyapman?

0
tayyor emas, balki if ifodasidan foydalaning. 2. Voqeani tinglang. Joriy o'rnatishingiz hujjat tayyor qiymatini tekshiradi, keyin hech qachon.
qo'shib qo'ydi muallif jmargolisvt, manba
Javobimga qanday javob bera olaman? @jmargolisvt
qo'shib qo'ydi muallif katt, manba

6 javoblar

Buni ko'ring:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

$(document).ready(function() {
$("#someid").hide();

$('#inputID').on('input', function() {
        if ( $('input').val() === 'test') {
    $("#someid").show();
        }
  else $("#someid").hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Type 'test' to show DIV
<input id="inputID" type="text"> <div id="someid">DIV</div>
</div> </div>
1
qo'shib qo'ydi
Agar eski oscommerce do'koni dvigateli bo'lsa, ehtimol aspx, to'g'rimi? Agar sizda html belgilarini yozishni amalga oshirish kerak bo'lsa, unda ID kodini yoping: $ ("# <% = inputID.ClientID%>")
qo'shib qo'ydi muallif DDelgro, manba
Nima uchun sizning ma'lumotingiz id mavjud emas? Aksariyat hollarda JavaScript uchun emas, balki CSS-da id mavjud bo'lishi kerak.
qo'shib qo'ydi muallif DDelgro, manba
u eski osmommerce do'koni dvigatelidir
qo'shib qo'ydi muallif katt, manba
muammo, mening kirishim identifikatori yo'q, bu value mag'lubiyatdir
qo'shib qo'ydi muallif katt, manba
<script type="text/javascript">
 $(document).ready(function() {
   $("input[value=somevaluetobefound]").closest('#someid').hide();
 });
</script>
0
qo'shib qo'ydi
Ushbu kod javobga javob berishi mumkin bo'lsa-da, qanaqa va/yoki nima uchun bilan bog'liq bo'lgan qo'shimcha kontekstni berish bu savolning echimini uzoq muddatli qiymatini oshiradi.
qo'shib qo'ydi muallif Dev-iL, manba

Arkejning javobiga ko'ra:

$(document).ready(function() {
    $("#someDiv").hide();

    $(':input').on('input', function() {
        if ( $('input').val() === 'somevalue') {
             $("#someDiv").show();
           }
        else $("#someDiv").hide();
         });
    });

Bu yerda barcha kirish qutilarini topish uchun : input dan foydalanaman. O'zingiz xohlagan ID raqamiga ega bo'lishingiz kerak yoki siz kiritgan qiymatdan kelib chiqib sizning div-ni ko'rsatish yoki yashirish uchun barcha kiritilgan matn qutilariga ega bo'lishingiz kerak.

Also refer to this for guidance on getting val from inputs: Get the value in an input text box

Cheers

0
qo'shib qo'ydi

Buni sinashingiz mumkin:

$(document).ready(function() {
 $("#someid").hide();

 if($("#someid").val() !=''){
     $("#someid").show();
 }
});
0
qo'shib qo'ydi
Bu erda "input [value $ = 'somevaluetobefound']` ni qanday aniqlashim kerak?
qo'shib qo'ydi muallif katt, manba

Hali ham ishlamayapti. Menda skript bor:

<script>
$(document).ready(function() {
$("#someid").hide();
  if ($("#someid").val() == "input[value='somevaluetobefound']")  
  {
     $("#someid").show();
  }
});
</script>

Va yana bir joyda div:

<div id="someid">text</div>

Lekin, agar bo'lsa ham

<input value="somevaluetobefound">

Mening divim ko'rsatilmaydi.

0
qo'shib qo'ydi
Bundan tashqari, agar sizda yo'q bo'lsa, hech qachon javob bermang. Izohlar yoki barcha javobsiz savollar uchun chatdan foydalaning. @ katt
qo'shib qo'ydi muallif DDelgro, manba
Arkeje javob yaxshi ishlaydi. Buni sinab ko'ring.
qo'shib qo'ydi muallif DDelgro, manba

Men sizning fikringizni qaerdan topishingiz mumkinligini to'liq tushuna olmadim:

$( document ).ready(function() {
 if (!$('input[value="somevaluetobefound"]'))
  $("#someid").hide();

  $(':input').on('keyup', function(){       
   if ($(this).val() == 'somevaluetobefound')  
    {
      $("#someid").show();
    } else {
         $("#someid").hide();
    }
  });
});

bu yerda kodini yangiladim

EDIT: OSh tomonidan taqdim etilgan yangi ma'lumotlarga asoslanadi

$( document ).ready(function() {
  if ($(':radio[value="somevaluetobefound"]').length !== 0)
   $("#someid").show();
  else 
   $("#someid").hide();
});

Sample here

0
qo'shib qo'ydi
Oh, men buni sinab ko'rmadim, aslida ishlaydi :) Lekin men kerakli emas: (Mening kirishim radio turi, shuning uchun qiymati faqat kirish turi haqida ma'lumotdir. somevaluetobefound qiymati topilmadi.
qo'shib qo'ydi muallif katt, manba
Oh, men juda qo'rqib ketdim, chunki mening mahalliy joyimda ishladim, lekin omma oldida emas edi. So'ngra, $ ni ishlatish bilan bog'liq ba'zi muammolarni tushunib etdim, shuning uchun hammasini o'zgartirdim, jQuery va endi hamma narsa ishlaydi :)
qo'shib qo'ydi muallif katt, manba
JKueryni o'rganishni boshlashim kerak, chunki u veb-saytlarda foydalanish juda yaxshi vositadir. Yana bir bor rahmat :)
qo'shib qo'ydi muallif katt, manba
Ishlamoqda! Ishlamoqda! Rahmat sizga juda ko'p :) @ rpabood
qo'shib qo'ydi muallif katt, manba
Bu erda nima demoqchi ekanimni ko'rishingiz mumkin jsfiddle.net/n7nkgbpx Agar birinchi input bo'lsa topilmasin, div ko'rsatilmasin. jQuery tomonidan bajariladimi?
qo'shib qo'ydi muallif katt, manba
Afsuski, agar men kiritilgan qiymatni somevaluetobefound dan boshqasiga o'zgartirsam, div yashirilmaydi.
qo'shib qo'ydi muallif katt, manba
Sizning javobingiz uchun tashakkur, lekin kod <div> = <input value = o'zgartirilgan bo'lsa ham divni ko'rsatadi :(
qo'shib qo'ydi muallif katt, manba
Agar hamma narsani to'g'ri qilsam, javobimga javob bera olasizmi?
qo'shib qo'ydi muallif katt, manba
Bu erda "input [value $ = 'somevaluetobefound']` ni qanday aniqlashim kerak?
qo'shib qo'ydi muallif katt, manba
@katt yangilangan kodini tekshirdingizmi? Agar siz qutidagi qiymatni o'zgartirsangiz, div yashirinadi va matn qayta mos kelganda yana ko'rsatiladi. Agar xohlamasangiz, nima qilish kerakligini yaxshiroq tushuntiring.
qo'shib qo'ydi muallif rpabood, manba
Hope bu yordam beradi. @ katt
qo'shib qo'ydi muallif rpabood, manba
Kechirasiz, men @katt ni qanday ishlashga harakat qilayotganingizni to'liq tushuna olmadim
qo'shib qo'ydi muallif rpabood, manba
@kat yordam berishdan xursandman!
qo'shib qo'ydi muallif rpabood, manba
Javobni yangiladim, shuning uchun siz selektorni siz xohlagan usuldan foydalanadi.
qo'shib qo'ydi muallif rpabood, manba
if ($ ("# someid") bo'lishi kerak.) val() == 'somevaluetobefound')
qo'shib qo'ydi muallif rpabood, 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