如何从输入中获取值并将其用作jQuery变量?

时间:2012-01-10 07:48:03

标签: javascript jquery input

我不是非常精通JavaScript / 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数据库生成民意调查,并想知道是否可以提取“answer:no”,“answer:yes”,“pid:$ id”,“to:$ username”的值等等。来自一个领域。如果可以,那么整个页面需要多个表格(对于每个民意调查)?或者一个表格足以满足多个输入?

2 个答案:

答案 0 :(得分:1)

是的,您可以使用jquery

的.val()函数轻松地从表单字段中获取值
$("#yourid").val();

答案 1 :(得分:1)

您可以为每个投票设置一个表单,并将pid作为输入包含type =“hidden”。然后,即使在是或否按钮(通过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/

进行测试