有人可以告诉我如何将变量Y
传递给$('a:eq(0)').click()
吗?我需要提醒服务器响应.click()
功能。我正在使用PHP框架,如果这很重要的话。
<script>
$(document).ready(function() {
function clockIn(str){
if (window.XMLHttpRequest)
{ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("message").innerHTML=xmlhttp.responseText;
var y = xmlhttp.responseText ;
}
}
xmlhttp.open("GET","http://localhost/gasstation/index.php/welcome/check_time_clock/"+ str,true);
xmlhttp.send();
}
$( "input:submit, a", ".login" ).button();
$("a:eq(0)").click(function(){
clockIn(<?php echo $emp_id; ?>);
});
$("a:eq(1)").click(function(){
alert('m') ;
})
});
</script>
答案 0 :(得分:1)
由于您正在进行ajax调用,因此您必须等到服务器响应,这样您才能在y
hanlder中获得click
的值。您可以将处理程序传递给clockIn
,然后在ajax响应到来后执行它。试试这个。
function clockIn(str, callback){
...
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("message").innerHTML=xmlhttp.responseText;
var y = xmlhttp.responseText ;
callback(y);
}
}
...
}
$("a:eq(0)").click(function(){
clockIn("<?php echo $emp_id; ?>", function(y){
//You will get the value of y here.
alert(y);
});
});
由于您使用的是jQuery,因此您应该完全利用它来使代码变得简单和干净。而不是创建自己的代码来创建xmlhttp
请求对象和bla bla,你可以使用jQuery的$.ajax
来实现相同的用途。你的代码会变成这样。
function clockIn(str, callback){
$.ajax({
url: "http://localhost/gasstation/index.php/welcome/check_time_clock/"+ str,
success: function(data){
$("#message").html(data);
callback(data);
}
});
}
答案 1 :(得分:0)
试试这个:
$("a:eq(0)").click(function(){
clockIn('<?php echo $emp_id; ?>');
});
可能会帮助
答案 2 :(得分:0)
function clockIn(str, cb) {
$.get("http://localhost/gasstation/index.php/welcome/check_time_clock/"+ str), function(res) {
// do your stuffs here.
var y = res;
cb && cb(y);
}
}
$("a:eq(0)").click(function(){
clockIn("hello", function(y){ alert(y); }); // your y here
});
答案 3 :(得分:0)
自从你使用jQuery后我会做这样的事情:
<script>
$(document).ready(function() {
var clockIn = function (str) {
$.ajax({
url: "http://localhost/gasstation/index.php/welcome/check_time_clock/"+ str,
success: function (data) {
$("#message").html(data);
var y = data;
}
});
}
$( "input:submit, a", ".login" ).button();
$("a:eq(0)").click(function(){
clockIn('<?php echo $emp_id; ?>');
});
$("a:eq(1)").click(function(){
alert('m') ;
});
});
</script>
我希望这可以帮助你