ปรึกษาเรื่อง Jquery

เริ่มโดย ChilTunDer, 24 กุมภาพันธ์ 2015, 20:19:03

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

ChilTunDer

จะเขียนเช็คค่าใน Textbox ยังไงถ้าไม่ได้เกิดจากการ Input ค่าเข้าไปครับ

คือ กดปุ่ม แล้วค่ามันกระโดดไปอยู่ใน TEXTBOX เลย แล้วถ้า TEXTBOX 1 มีค่าให้ BUTTON 2 ENABLE

ต้องเขียนยังไงครับ

bthpp0ng



$('#btnId').click(function(){
  var textbox1Id = $('#textbox1Id');
  if(textbox1Id.val() != "" || textbox1Id != unidentified){
       textbox1Id.val('Some text');
  }
});

ปล.จำไม่ได้ว่า .val หรือ .text

ส่วน "ถ้า TEXTBOX 1 มีค่าให้ BUTTON 2 ENABLE" ลองใช้ event onchange ดูครับ
- โฆษณา Popup เรทดี [direct=https://goo.gl/5IRlxJ]คลิกเลย[/direct]
- รับถอด IonCube ทุกเวอร์ชั่น
- รับทำเวปสายดำแบบ auto update รอโปรโมตอย่างเดียว สนใจ/สอบถาม
- เวปแลกเปลี่ยน traffic [direct=https://goo.gl/7xKj1P]คลิกเลย[/direct]

ChilTunDer

อ้างถึงจาก: bthpp0ng ใน 24 กุมภาพันธ์ 2015, 20:35:12


$('#btnId').click(function(){
  var textbox1Id = $('#textbox1Id');
  if(textbox1Id.val() != "" || textbox1Id != unidentified){
       textbox1Id.val('Some text');
  }
});

ปล.จำไม่ได้ว่า .val หรือ .text

ส่วน "ถ้า TEXTBOX 1 มีค่าให้ BUTTON 2 ENABLE" ลองใช้ event onchange ดูครับ

textbox event onchange ทดลองแล้วไม่ได้ครับ ต้อง input ค่าใน textbox เองถึงจะทำงาน ถ้าค่ากระโดดเข้ามาเฮยๆ มันไม่มีการตอบสนองเลยครับ

JumDaiDee

อ้างถึง
$('#btn2').attr('disabled' , true);
$('#btn1').click(function(){
  var txtbox = $('#txtbox').val();

  if(txtbox == ''){
       $('#txtbox').val('5555');
  }
$('#btn2').attr('disabled' , flase);

});
สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com

ChilTunDer

อ้างถึงจาก: JumDaiDee ใน 24 กุมภาพันธ์ 2015, 21:56:24
อ้างถึง
$('#btn2').attr('disabled' , true);
$('#btn1').click(function(){
  var txtbox = $('#txtbox').val();

  if(txtbox == ''){
       $('#txtbox').val('5555');
  }
$('#btn2').attr('disabled' , flase);

});

ขอบคุณครับ ขอปรึกษาหน่อยครับว่าการเขียน Jquery จำเป็นไหวที่ event ต้องอยู่ภายใต้ $(document).ready(function() ตลอด

เพราะทุกวันนี้ไม่ว่าจะเขียน event อะไรผมจับยัดไว้ใน $(document).ready(function() ตลอดเลย

เพราะถ้าเอาไว้ข้างนอก $(document).ready(function() มันไม่ทำงาน งงเหมือนกัน

แต่พอจับยัดไว้ใน $(document).ready(function() แล้วรู้สึกว่ามันทำงานเพี้ยนๆ รวนๆ แปลกๆ

BakKheab

อ้างถึงจาก: ChilTunDer ใน 24 กุมภาพันธ์ 2015, 22:11:58
อ้างถึงจาก: JumDaiDee ใน 24 กุมภาพันธ์ 2015, 21:56:24
อ้างถึง
$('#btn2').attr('disabled' , true);
$('#btn1').click(function(){
  var txtbox = $('#txtbox').val();

  if(txtbox == ''){
       $('#txtbox').val('5555');
  }
$('#btn2').attr('disabled' , flase);

});

ขอบคุณครับ ขอปรึกษาหน่อยครับว่าการเขียน Jquery จำเป็นไหวที่ event ต้องอยู่ภายใต้ $(document).ready(function() ตลอด

เพราะทุกวันนี้ไม่ว่าจะเขียน event อะไรผมจับยัดไว้ใน $(document).ready(function() ตลอดเลย

เพราะถ้าเอาไว้ข้างนอก $(document).ready(function() มันไม่ทำงาน งงเหมือนกัน

แต่พอจับยัดไว้ใน $(document).ready(function() แล้วรู้สึกว่ามันทำงานเพี้ยนๆ รวนๆ แปลกๆ

jQuery มันเป็น Function ดังนั้นก็ต้องอยู่ใน Function ครับผม

$(document).ready(function(){
   // jQuery methods go here...
});


$(function(){
   // jQuery methods go here...
});

ChilTunDer

อ้างถึงจาก: BakKheab ใน 24 กุมภาพันธ์ 2015, 22:36:02
อ้างถึงจาก: ChilTunDer ใน 24 กุมภาพันธ์ 2015, 22:11:58
อ้างถึงจาก: JumDaiDee ใน 24 กุมภาพันธ์ 2015, 21:56:24
อ้างถึง
$('#btn2').attr('disabled' , true);
$('#btn1').click(function(){
  var txtbox = $('#txtbox').val();

  if(txtbox == ''){
       $('#txtbox').val('5555');
  }
$('#btn2').attr('disabled' , flase);

});

ขอบคุณครับ ขอปรึกษาหน่อยครับว่าการเขียน Jquery จำเป็นไหวที่ event ต้องอยู่ภายใต้ $(document).ready(function() ตลอด

เพราะทุกวันนี้ไม่ว่าจะเขียน event อะไรผมจับยัดไว้ใน $(document).ready(function() ตลอดเลย

เพราะถ้าเอาไว้ข้างนอก $(document).ready(function() มันไม่ทำงาน งงเหมือนกัน

แต่พอจับยัดไว้ใน $(document).ready(function() แล้วรู้สึกว่ามันทำงานเพี้ยนๆ รวนๆ แปลกๆ

jQuery มันเป็น Function ดังนั้นก็ต้องอยู่ใน Function ครับผม

$(document).ready(function(){
   // jQuery methods go here...
});


$(function(){
   // jQuery methods go here...
});



$(document).ready(function()

กับ

$(function()

ผลของทั้ง 2 ตัวนี้เหมือนกันใช่ไหมครับ

แสดงว่าไม่ว่าผมจะใช่

Event click, on, keyup,... อะไรก็แล้วแต่ก็ต้องอยู่ถายใต้ $(document).ready(function() ใช่ไหมครับ เช่น

$(document).ready(function(){
   $("#btnA").click(function(){
   // jQuery methods go here...
});
$("#txtA").keyup(function(){
   // jQuery methods go here...
});
});

ถ้าเอาทั้ง
$("#btnA").click(function(){
   // jQuery methods go here...
});
$("#txtA").keyup(function(){
   // jQuery methods go here...
});

ออกมาไว้ข้างนอก $(document).ready(function(){ แล้วมันจะไม่ทำงาน (อันนี้เกิดจากการทดลองด้วยตัวเอง แล้วมันไม่ทไงาน) ไม่รู้ผมเข้าใจถูกไหม

Maxio


$( document ).ready(function() {
    // code
});


หรือแบบสั้นๆ (shorthand)


$(function() {
    // code
});


มันคือฟังค์ชันที่ถูกรันเมื่อมีการโหลด DOM (หน้าเว็บเสร็จสิ้น) ฉะนั้น หากคุณต้องการรับ event ต่างๆ หรือจะ select element อะไรก็แล้วแต่ ก็ควรจะใส่ไว้ภายในฟังค์ชั่น `$(document).ready();`

ลองนึกดูว่า หน้าเว็บกำลังโหลดได้ครึ่งหน้า แต่ว่าคุณไป select input ที่มันอยู่ตรง footer ทั้งที่มันยัง render ไม่ถึง(ไม่รู้จัก) มันก็ไม่ทำงาน

wiriyaarmz

อ้างถึงจาก: Maxio ใน 25 กุมภาพันธ์ 2015, 01:02:55

$( document ).ready(function() {
    // code
});


หรือแบบสั้นๆ (shorthand)


$(function() {
    // code
});


มันคือฟังค์ชันที่ถูกรันเมื่อมีการโหลด DOM (หน้าเว็บเสร็จสิ้น) ฉะนั้น หากคุณต้องการรับ event ต่างๆ หรือจะ select element อะไรก็แล้วแต่ ก็ควรจะใส่ไว้ภายในฟังค์ชั่น `$(document).ready();`

ลองนึกดูว่า หน้าเว็บกำลังโหลดได้ครึ่งหน้า แต่ว่าคุณไป select input ที่มันอยู่ตรง footer ทั้งที่มันยัง render ไม่ถึง(ไม่รู้จัก) มันก็ไม่ทำงาน

ตามนี้เลยครับ document ready มันหมายถึงโหลดหน้าเสร็จแล้วจะทำครับ ดังนั้นถ้าไม่อยู่ด้านในนี้เวลาที่มันจะหา element ต่างๆที่ยังไม่โหลดมันก็จะหาไม่เจอครับ

iCeEffecT

ถ้าจะเขียนแยกจาก document ready ก็ต้องไปใช้ event ใน html เช่น <button onclick="aaa()"> แล้วมาเขียน function aaa(){} แยกเอา แบบนี้ก็ได้ครับทำได้เหมือนกันกับ
$("#btnA").click(function(){
   // jQuery methods go here...
});