Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery获取已回答/未回答选项的数量?_Javascript_Jquery_Cordova - Fatal编程技术网

Javascript 如何使用jQuery获取已回答/未回答选项的数量?

Javascript 如何使用jQuery获取已回答/未回答选项的数量?,javascript,jquery,cordova,Javascript,Jquery,Cordova,在android phonegap应用程序中,我在div中动态创建了5个或更多带有相应选项(复选框)的问题。每个问题和相应选项都有相同的id。现在我想知道在单击提交按钮时有多少问题得到了回答/有多少问题没有得到回答 请引导我。提前谢谢 我的代码是: for dynamic div: retrive value from local database function list(results){ for (i = 0; i < results.rows.length; i++) {

在android phonegap应用程序中,我在
div
中动态创建了5个或更多带有相应选项(复选框)的问题。每个问题和相应选项都有相同的id。现在我想知道在单击提交按钮时有多少问题得到了回答/有多少问题没有得到回答

请引导我。提前谢谢

我的代码是:

for dynamic div: retrive value from local database
function list(results){
for (i = 0; i < results.rows.length; i++) {
                                         $("#poll").append("<li id='"+i+"'>"+results.rows.item(i).ques+"</li>"+"<br/>" );
                                      var optiontypearray  = new Array();
                                      var  arr = results.rows.item(i).option;
                                      var optiontypearray=arr.split(" ");

                                      for(var j=0; j<optiontypearray.length; j++) {
                                       $("#poll").append("<input  id='"+i+"'  name='ckbox' value='"+optiontypearray[j]+"'  type='checkbox'/>"+optiontypearray[j]+"<br/>");
                                      }

                          }
}
for submit  button:get question with respective answer
function submit(){
$answers = $(':checked');
  var $questions=$('li');
 $answers.each(function(index,el) {
 var list1=$(this).attr("id");
 alert("list1:"+list1);
 var val=$('#'+list1).val();
   alert($questions.eq(list1).html() + ' : ' + $(el).val());
});
}
动态div的
:从本地数据库检索值
功能列表(结果){
对于(i=0;i”+results.rows.item(i).ques+”“+”
); var optiontypearray=新数组(); var arr=results.rows.item(i).选项; var optiontypearray=arr.split(“”);
对于(var j=0;ju),可以做如下操作

var qanswered;

for( j = 0; j < numberofQuestions; j++){
       qanswered = false;
       ques = questions[j];
          for( k = 0; k < ques.choices.length; k++){
                btn = $('.ui-page-active input#'+k); // k is your choice id whatever way u define it
                      if(btn[0].checked){
                             qanswered = true;
                        }
          }
       if(!qanswered){
            //this question is not answered, do something
       }

}
var-qanswered;
对于(j=0;j

btn一个接一个地获取输入的jquery对象,这是当您单击submit按钮时发生的情况

$('#submit').click(function () {
    var questionsAnswered = questionsNotAnswered = 0
    var arrQuestions = new Array();
    $('li').removeAttr('style').each (function (i) {
        if ($(this).children('input:checked').length > 0) {
            var ans = '';
            $(this).children('input:checked').each(function () {
               ans+= $(this).val() + ', ';
            });
            arrQuestions[questionsAnswered] = new Array($(this).attr('id'), ans);
            questionsAnswered++;
        } else if ($(this).attr('class') == 'required' && $(this).children('input:checked').length == 0) {
            $(this).css({border : '1px solid red'});
            questionsNotAnswered++;     
            alert($(this).clone().children('span').remove().end().text());
        }
    });    
    $('div#finalResults').html("Questions Answered : " + questionsAnswered + "<br /> Questions Not Answered : " + questionsNotAnswered);
    });
    $.each (arrQuestions, function () {
        $('div#finalResults').append("<br /> Q: " + this[0] + " A: " + this[1]);
    });
$('#提交')。单击(函数(){
var questionsAnswered=questionsNotAnswered=0
var=newarray();
$('li').removeAttr('style').each(函数(i){
if($(this).children('input:checked')。长度>0){
var ans=“”;
$(this).children('input:checked')。每个(函数(){
ans+=$(this.val()+',';
});
arrQuestions[questionsAnswered]=新数组($(this).attr('id'),ans);
问题回答++;
}else if($(this.attr('class')='required'&&$(this.children('input:checked'))。length==0){
$(this.css({border:'1px solid red'});
问题回答++;
警报($(this.clone().children('span').remove().end().text());
}
});    
$('div#finalResults').html(“已回答的问题:+questionsansweed+”
未回答的问题:+questionsNotAnswered); }); $。每个(问题、函数(){ $('div#finalResults')。追加(“
Q:+this[0]+”A:+this[1]); });
演示。
请注意,list()函数中的代码可能会根据您未共享的现有代码进行更改;-).

您能分享一些代码来了解情况吗?谢谢您的回答。如何获取有多少问题得到了回答和没有回答。请帮助我。提前谢谢。您能分享与问答相关的html吗?在html中,我只声明了div,使用div id append question and选项。请注意,元素的id对于同一页上的所有元素。如果必须提供元素id,则应提供该页上任何其他元素都不会使用的元素。感谢您的回复。请在代码中解释这些{qusetion[j],ques.questionid,btn=$(),btn[0]}。我不明白。请指导我。提前感谢btn是问题输入的jquery对象。它逐个查看特定问题的选项,并查看是否检查(回答)输入。我已将此代码放入logcat错误:btn[0]是未定义的,如何解决这个问题不要直接使用android:P首先编写js代码,并在普通浏览器中进行测试。使用web inspector/firebug进行调试,然后将其放在android中。你无法在androiduse fiddler/charles中调试js来调试本地html js,在browserThankyou verymuch中。它工作正常。我还有一个疑问,如何用corr解决问题响应存储到localdatabaseHey priya,查看更新的JSFIDLE url,如果您喜欢,请不要忘记更新答案:-)查看新的FIDLE url。我在
list()中做了一些更改
函数和
结果
数组。@priya:您可以检查哪个
li
标记具有required标志。请在此处查看:@priya:很高兴为您提供帮助。您介意投票表决答案吗:-)
$('#submit').click(function () {
    var questionsAnswered = questionsNotAnswered = 0
    var arrQuestions = new Array();
    $('li').removeAttr('style').each (function (i) {
        if ($(this).children('input:checked').length > 0) {
            var ans = '';
            $(this).children('input:checked').each(function () {
               ans+= $(this).val() + ', ';
            });
            arrQuestions[questionsAnswered] = new Array($(this).attr('id'), ans);
            questionsAnswered++;
        } else if ($(this).attr('class') == 'required' && $(this).children('input:checked').length == 0) {
            $(this).css({border : '1px solid red'});
            questionsNotAnswered++;     
            alert($(this).clone().children('span').remove().end().text());
        }
    });    
    $('div#finalResults').html("Questions Answered : " + questionsAnswered + "<br /> Questions Not Answered : " + questionsNotAnswered);
    });
    $.each (arrQuestions, function () {
        $('div#finalResults').append("<br /> Q: " + this[0] + " A: " + this[1]);
    });