Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 Mobile中的ID从数组中填充按钮值_Javascript_Arrays_Jquery Mobile_Getelementbyid - Fatal编程技术网

Javascript 通过jQuery Mobile中的ID从数组中填充按钮值

Javascript 通过jQuery Mobile中的ID从数组中填充按钮值,javascript,arrays,jquery-mobile,getelementbyid,Javascript,Arrays,Jquery Mobile,Getelementbyid,我已经开始创建一个测验。今天所有的问题和答案都在同一个数组中。通过id的b1-b4和函数getElementById,HTMl、JavaScript和CSS都取得了成功 但是现在我想把这个脚本“转换”成一个移动版本。所以我开始使用jQuery Mobile。我将getElementById更改为$(“#变量”).val(数组)。并与Firebug进行了核对。Firebug告诉我,按钮的值被数组值填充,但我无法在正常视图中看到它 有人能告诉我一个解决我错误的方法吗 HTML按钮

我已经开始创建一个测验。今天所有的问题和答案都在同一个数组中。通过id的
b1-b4
和函数
getElementById
,HTMl、JavaScript和CSS都取得了成功

但是现在我想把这个脚本“转换”成一个移动版本。所以我开始使用jQuery Mobile。我将getElementById更改为
$(“#变量”).val(数组)。并与Firebug进行了核对。Firebug告诉我,按钮的值被数组值填充,但我无法在正常视图中看到它

有人能告诉我一个解决我错误的方法吗

HTML按钮

                <input id='b1' type="button" value="" ONCLICK="analyseB1()"/>

                <input id='b2' type="button" value=""  ONCLICK="analyseB2()"/>


                <input id='b3' type="button" value=""  ONCLICK="analyseB3()"/>

                <input id='b4' type="button" value=""  ONCLICK="analyseB4()"/>

                <input id='next' type="button" value="Next Question" ONCLICK="next()"/>

}

我的第一个建议是学习一些jQuery编程,您将看到它的基本原理。现在,关于你的问题:

  • 使用
    创建按钮
  • 不要使用
    onclick
    处理程序
  • 使用智能jQuery选择器避免重复函数
HTML

<div data-role="page" id="page">
    <a href="#" id="b1" data-role="button"></a>
    <a href="#" id="b2" data-role="button"></a>
    <a href="#" id="b3" data-role="button"></a>
    <a href="#" id="b4" data-role="button"></a>
    <a href="#" id="next" data-role="button">Next question</a>
</div>
$(document).on("click", "[id^=b]", function(event, ui)
{
   alert(this.id);
});

$(document).on("click", "#next", function(event, ui)
{
   $("#b1").prop("innerHTML", "b1 button");
   $("#b2").prop("innerHTML", "b2 button");
   $("#b3").prop("innerHTML", "b3 button");
   $("#b4").prop("innerHTML", "b4 button");

   $("#next").css("display", "none");
   $("[id^=b]").css("backgroundColor", "");
});

用英语命名变量和函数是一种很好的做法(特别是如果你在这里发帖的话)。你说得对,我已经更改了。非常感谢:-)我期待在完成项目后了解更多关于jQuery和jQuery mobile的信息。两年前我在codeacademy.com上学习了一些jQuery,但我不再在实践中使用它了。由于对开发一些移动网站感兴趣,我想,也希望我能很快了解到这一点。再次感谢Sga,祝您度过愉快的一天:-)我还有一个小问题:为什么不将onclick处理程序与jQuery结合使用?
$(document).on("click", "[id^=b]", function(event, ui)
{
   alert(this.id);
});

$(document).on("click", "#next", function(event, ui)
{
   $("#b1").prop("innerHTML", "b1 button");
   $("#b2").prop("innerHTML", "b2 button");
   $("#b3").prop("innerHTML", "b3 button");
   $("#b4").prop("innerHTML", "b4 button");

   $("#next").css("display", "none");
   $("[id^=b]").css("backgroundColor", "");
});