2012-01-10 90 views
0

我对JavaScript/jQuery不太熟悉,但是我已经设法编写了一个轮询脚本,它允许用户在轮询上投票并显示结果,而无需刷新页面。这是我想出了jQuery代码:如何从输入中获取值并将其用作jQuery变量?

$("#poll_yes").click(function(){ 
        $("#poll_options").html(ajax_load); 
        $.post( 
         "query.php?module=vote", 
         {answer: "yes", pid: "<? display($_GET['username'], poll_id); ?>", to: "<?= $_GET['username'] ?>"}, 
         function(responseText){ 
          $("#poll_options").html(responseText); 
         }, 
         "html" 
        ); 
       }); 
$("#poll_no").click(function(){ 
       $("#poll_options").html(ajax_load); 
       $.post(
        "query.php?module=vote", 
        {answer: "no", pid: "<? display($_GET['username'], poll_id); ?>", to: "<?= $_GET['username'] ?>"}, 
        function(responseText){ 
         $("#poll_options").html(responseText); 
        }, 
        "html" 
       ); 
      }); 

这会得到在页面上输入元素的ID,并根据id它将然后将查询发送到query.php。然后query.php会发回一个响应,然后这个响应就会显示在页面上。

这个脚本工作正常,但我遇到了另一个挑战。我需要在一个页面上显示多个民意调查。我使用PHP来生成SQL数据库中的民意调查,并想知道是否可以拉取“答案:否”,“答案:是”,“pid:$ id”,“to:$ username”等等。从一个领域。如果可能的话,整个页面(每次投票)都需要多个表单?或者一个形式可以满足多个输入?

+0

测试阅读文档,它会帮助你很多......还有很多在网络上的例子,这是很容易得到JQuery的真正深谙。 – trgraglia 2012-01-10 07:58:49

回答

1

你可以为每个投票形式,以及包括PID与类型的输入容易形成形式的Fileds = “隐”。然后,即使在“是”或“否”按钮(通过ID)上使用点击,您也可以在所有表​​单提交事件上附加回调。这也可以让你将两个函数合并为一个回调函数。

<script> 
$("form.Poll > input[type='button']").click(function(e) { 
    e.preventDefault(); 
    var form= $(this).closest("form"); 
    alert("QuestionId:"+$("input[name='QuestionId']", form).val()+" clicked on:"+$(this).val()); 
}); 
</script> 
<form method='POST' action='update.php' class='Poll'> 
    <input type='hidden' name='QuestionId' value='1'/> 
    Do you like jQuery? 
    <input type='button' name='Answer' value='Yes'/> 
    <input type='button' name='Answer' value='No'/> 
</form> 
<form method='POST' action='update.php' class='Poll'> 
    <input type='hidden' name='QuestionId' value='2'/> 
    Do you like AJAX? 
    <input type='button' name='Answer' value='Yes'/> 
    <input type='button' name='Answer' value='No'/> 
</form> 
<form method='POST' action='login.php'> 
    This form will fire like a normal form if you click on submit but it will not pass though the submit script defined above 
    <input type='submit' name='Answer' value='Login'/> 
</form> 

这可以在http://jsfiddle.net/te9YL/

+0

我不确定你的意思是在所有表单上附加回调。你能提供一些示例代码吗? – Xecure 2012-01-10 08:17:26

1

是的,你可以得到价值通过.VAL()的jQuery的功能

$("#yourid").val(); 
相关问题