Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่องการล้าง textbox และ autofill ด้วย jquery ครับ ลองทำแล้วแต่ยังไม่ได้ครับ



 

สอบถามเรื่องการล้าง textbox และ autofill ด้วย jquery ครับ ลองทำแล้วแต่ยังไม่ได้ครับ

 



Topic : 117982



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์




พอใส่รหัส น.ศ ครบแล้ว มันจะขึ้นแถวใหม่ให้ แต่มันขึ้นชื่อ นามสกุลมาด้วย ผมอยากให้มันเป็นแบบ textbox ว่าง ๆ ไว้แสดงชื่อ-นามสกุลคนใหม่ ลองทำแล้วแต่ยังไม่ได้ครับที่ comment ไว้

นน

Code (PHP)
<!-- Auto fill info std -->
<script type="text/javascript">
$(document).ready(function(){
  $("input[id^='std_id']").on('keyup keypress', function(){
    //alert($(this).val()); 
      $.ajax({ 
        url: "autofill-std.php" ,
        type: "POST",
        data: 'std=' +$(this).val()
      })
      .success(function(result) 
      { 
        if( result != "" ) 
        {
            var obj = $.parseJSON(result); 
            //alert(obj[0].fristname);
            //alert(obj[0].result_title);
            $.each(obj, function(index, value) {
                 $("input[id^='std_name']").val(value["fristname"]); 
                 $("input[id^='std_surname']").val(value["lastname"]); 
                 // $("tbody tr:last-child input[id^='std_name']").val(''); 
                 $("input[id^='std_id']").focus();
              });
        }
      });

    });
  });
</script>




Tag : PHP, HTML/CSS, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-23 15:02:07 By : littlebeer View : 1316 Reply : 14
 

 

No. 1



โพสกระทู้ ( 1,636 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

http://www.w3schools.com/tags/att_input_autocomplete.asp






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 15:05:50 By : NewbiePHP
 


 

No. 2



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


มันไม่ใช่แบบ autocomplete แบบนั้นครับ

มันติดตรงนี้ละครับ เพราะมันจะใส่ชื่อ-นามสกุลทุก input ที่มี id ที่ขึ้นต้นด้วย std_name และ std_surname แต่ผมแก้ไม่ถูก
Quote:
$("input[id^='std_name']").val(value["fristname"]);
$("input[id^='std_surname']").val(value["lastname"]);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-23 15:38:23 By : littlebeer
 

 

No. 3



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


ดันทีนึง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 08:29:50 By : littlebeer
 


 

No. 4



โพสกระทู้ ( 1,636 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

เดาเอานะครับ
ผมว่า flow control ผิดตรงที่ ให้แสดง บันทัดใหม่ ก่อนการ ajax จะเสร็จสิ้น
แล้ว2บันทัด ข้างล่างมันไปกำหนด ค่าให้ทีหลัง

19.$("input[id^='std_name']").val(value["fristname"]);
20.$("input[id^='std_surname']").val(value["lastname"]);

ดังนั้น ต้องเปลียนการขึ้นบันทัดใหม่ให้ทำงานหลัง 2 บันทัดบน

หรือแก้ไข 2 บันทัดบน ให้ กำหนด ค่า เฉพาะ row ที่กำหนด

04.$("input[id^='std_id']").on('keyup keypress', function(){
var parent_tr = $(this.).parent().parent(); // parent แรก เป็น td


19.$(parent_tr).find("input[id^='std_name']").val(value["fristname"]);
20.$(parent_tr).find(("input[id^='std_surname']").val(value["lastname"]);

ทำแบบนี้จะได้ไม่ไป กำหนดค่าทัด บันทัดอื่นๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 09:02:42 By : NewbiePHP
 


 

No. 5



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-07-24 09:02:42
รายละเอียดของการตอบ ::
ใส่รหัส น.ศ แล้วไม่ขึ้นอะไรเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 09:50:25 By : littlebeer
 


 

No. 6



โพสกระทู้ ( 1,636 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

อีกที บันทัด 15.var obj = $.parseJSON(result);
result มันคืออะไร มีค่าอะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 11:23:43 By : NewbiePHP
 


 

No. 7



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


คือ json จากอีกไฟล์นึงครับ

Code (PHP)
echo json_encode($resultArray);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 11:48:02 By : littlebeer
 


 

No. 8



โพสกระทู้ ( 1,636 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

บันทัด 19 20 แก้ให้มันอ้างอิง row ที่ทำงานอยู่ให้ได้ครับ
ผมไม่รู้ว่า เขียนโค๊ด เพิ่มบันทัดไว้แบบไหน
เลยอาจจะอ้างอิงผิด ตรง var parent_tr = $(this).parent().parent();
ซึงคงต้องอ้างอิงรูปแบบอื่นๆ ที่ถูกต้องตาม รูปแบบการสร้าง บันทัดใหม่

เพราะบันทัด 19 20 เป็นการกำหนดค่าแบบ global ให้กับ tag input ทุกตัว ที่มี id=std_id

ก็ลองหาวิธีให้มันกำหนดให้ได้ว่า ต้องใส่ข้อมูลที่บันทัดไหน แค่บันทัดเดียวไม่ต้องใส่ บันทัดอื่นๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 12:16:47 By : NewbiePHP
 


 

No. 9



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


นั้นละครับปัญหา 55 กำลังหาทาง

โค้ดเพิ่มบรรทัด
Code (PHP)
 <td><input type="text" class="form-control input-sm" id="std_id" name="std_id[]" maxlength="14" onkeyup="if ($(this.parentNode.parentNode).is(':last-child')) { AddRow($(this).val()); }" onkeypress="return inputLimiter(event,'Numbers')"></td>


function AddRow(str_val)
{
	//alert(str_val.length);
    if(str_val.length==14 || str_val.length==13 ) {
      $("#myTable tr:last").after('<tr>'+
      	'<td><button type="button" onclick="deleteRow(this)" class="btn btn-danger btn-sm"> -- </button></td>'+
      	'<td><input type="text" class="form-control input-sm" id="std_id" name="std_id[]" maxlength="14" onkeyup="if ($(this.parentNode.parentNode).is(":last-child")) { AddRow($(this).val()); }" onkeypress="return inputLimiter(event,"Numbers")"></td>'+
      	'<td><input type="text" class="form-control input-sm" id="std_name" name="std_name[]"></td>'+
      	'<td><input type="text" class="form-control input-sm" id="std_surname" name="std_surname[]"></td>'+
      	'</tr>');

      //rowcount
      var rowCount = $("#mytbody").children().length;
     $('#memtotal').val(rowCount);
    }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 12:27:09 By : littlebeer
 


 

No. 10



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


ดันอีกนิด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-24 19:26:47 By : littlebeer
 


 

No. 11



โพสกระทู้ ( 1,636 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลองบอกความต้องการมาใหม่ดีไหมครับ ผมอ่านโค๊ดแล้วรู้สึกงงกับความต้องการ
แต่ล่ะช่อง มีไว้ทำอะไร เพื่ออะไร ไม่ต้องเขียนเป็นโค๊ดครับ ดูโค๊ดแล้วมึนครับ
อธิบายเป็นภาษาคนง่ายๆ นี่แหล่ะครับ

เช่น ช่อง input name="std_id[]" มีไว้เพื่อคีย์ค้นหา ผู้ใช้ตาม รหัส แล้วนำไปไว้ใน ช่อง std_name std_surname พร้อมกับขึ้นบันทัดให้ใหม่
เอาแบบนี้ครับ (ใช่หรือเปล่ายังงงอยู่)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-25 04:27:05 By : NewbiePHP
 


 

No. 12



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


input id="std_id" name="std_id[]" ไว้ใส่รหัส น.ศ จะพิมพ์หรือยิงจากบาร์โค้ด
id="std_name" name="std_name[]" เอาไว้แสดงชื่อ น.ศ
id="std_name" name="std_surname[]" เอาไว้แสดงนามสกุล น.ศ เสร็จแล้วจะเพิ่มแถวใหม่

ตามที่เข้าใจเลยครับ รบกวนด้วยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-25 10:32:22 By : littlebeer
 


 

No. 13



โพสกระทู้ ( 1,636 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลองเอาตัวอย่างนี้ไปดูครับ แล้วประยุกต์เอานะครับ ทดสอบแล้ว
Code (PHP)
<?php
if(isset($_REQUEST['std'])){
	$rs = array('firstname'=>'test1', 'lastname'=>'surname1');
	exit(json_encode($rs));
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf8">
<script src="/jquery-2.1.1.min.js"></script>
<script>
$(document).ready(function(){
	$('#button_add').click(function(){ AddRow(); }).click();
});
function AddRow(){
	var tr_id = 'tr_'+($('#myTable tr').length+1);
	$("#myTable").append(
		'<tr id="'+tr_id+'">'+
		'<td><button type="button" > - </button></td>'+
		'<td><input class="std_id" name="std_id[]" maxlength="14"></td>'+
		'<td><input class="std_name" name="std_name[]"></td>'+
		'<td><input class="std_surname" name="std_surname[]"></td>'+
		'</tr>'
	);
	$('#'+tr_id +' button').click(function(){
		if($("#myTable tr").length>1) $('#'+tr_id).remove(); 
	});
	$('#'+tr_id +' .std_id').change(function() {
		var ux=''; //"autofill-std.php";
		var ro = { std: this.value};
		$.ajax({ url: ux, type: "POST", data: ro}).done(function(result){
			var obj; try{ obj = JSON.parse(result); }catch(e){ obj='';}
			if(typeof obj=='object'){
				$('#'+tr_id+' .std_name').val(obj.firstname);
				$('#'+tr_id+' .std_surname').val(obj.lastname);
				if($('#'+tr_id).index()==($('#myTable tr').length-1)) AddRow();
			}else alert( result);
		}).fail(function(){ alert('Cannot find ' + ro.std); });
	}).keypress(function(e) {
		if( this.value.length==14){ $(this).change(); return false; }
	}).focus();
	$('#memtotal').val( $("#myTable tr").length );
};
</script>
</head>
<body>
<table id="myTable" boder=2 cellpadding=2 cellspacing=2></table>
<button type="button" id="button_add"> + </button>
<input id="memtotal" readonly >
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-25 12:48:21 By : NewbiePHP
 


 

No. 14



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 13 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-07-25 12:48:21
รายละเอียดของการตอบ ::
พอดีเพิ่งได้มาดู ขอบคุณมาก ๆ ครับ แต่ผมลองมาดัดแปลงนิดหน่อยเพื่อให้เข้าใจตามแบบผม ทำแล้วมันไม่ขึ้นแถวใหม่เมื่อใส่ครบ 14 หลักอะครับ


Code (PHP)
$(document).ready(function(){
  $('#btnAdd').click(function(){ AddRow(); }).click();
});
function AddRow(){
  var tr_id = 'tr_'+($('#myTable tr').length);
  // alert(tr_id);
  $("#myTable").append(
    '<tr id="'+tr_id+'">'+
    '<td> <button type="button" onclick="deleteRow(this)" class="btn btn-danger btn-sm"> -- </button></td>'+
    '<td><input type="text" class="form-control input-sm std_id" id="std_id" name="std_id[]" maxlength="14" onkeypress="return inputLimiter(event,Numbers)"></td>'+
    '<td><input type="text" class="form-control input-sm std_name" id="std_name" name="std_name[]"></td>'+
    '<td><input type="text" class="form-control input-sm std_surname" id="std_surname" name="std_surname[]"></td>'+
    '</tr>'
  );
  // $('#'+tr_id +' button').click(function(){
  //   if($("#myTable tr").length>1) $('#'+tr_id).remove(); 
  // });
  $('#'+tr_id +' .std_id').on('keyup keypress', function() {
    $.ajax({ 
       url: "autofill-std.php" ,
       type: "POST", 
       data: 'std=' +$(this).val()
     })
     .success(function(result) 
      { 
        if( result != "" ) 
        {
            var obj = $.parseJSON(result); 
            //alert(obj[0].fristname);
            //alert(obj[0].result_title);
            $.each(obj, function(index, value) {
                $('#'+tr_id+' .std_name').val(value["fristname"]); 
                $('#'+tr_id+' .std_surname').val(value["lastname"]); 
                $('#'+tr_id+' .std_id').focus();
              });
        }
      })

     .keypress(function() {
      var len = $(this).val().length;
      alert(len);
        if(len==14){ 
          $("#myTable").append(
    '<tr id="'+tr_id+'">'+
    '<td> <button type="button" onclick="deleteRow(this)" class="btn btn-danger btn-sm"> -- </button></td>'+
    '<td><input type="text" class="form-control input-sm std_id" id="std_id" name="std_id[]" maxlength="14" onkeypress="return inputLimiter(event,Numbers)"></td>'+
    '<td><input type="text" class="form-control input-sm std_name" id="std_name" name="std_name[]"></td>'+
    '<td><input type="text" class="form-control input-sm std_surname" id="std_surname" name="std_surname[]"></td>'+
    '</tr>'
  ); 
        }
      }) //keypress
  })
  $('#memtotal').val( $("#myTable tr").length-1);
};


รบกวนอีกนิดครับ


ประวัติการแก้ไข
2015-07-27 13:23:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-27 13:08:44 By : littlebeer
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการล้าง textbox และ autofill ด้วย jquery ครับ ลองทำแล้วแต่ยังไม่ได้ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่