Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 如何选中选中的选项,抓取一个数组值并按一下按钮将其值写入div?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何选中选中的选项,抓取一个数组值并按一下按钮将其值写入div?

Javascript 如何选中选中的选项,抓取一个数组值并按一下按钮将其值写入div?,javascript,jquery,html,Javascript,Jquery,Html,这个问题可能有点含糊,但我会尽量讲清楚 这是我的HTML: <div id="buttonholder"> <button id="previous">< Previous round</button> <button id="next">Next round ></button> <button id="current">> Current round <</butto

这个问题可能有点含糊,但我会尽量讲清楚

这是我的HTML:

<div id="buttonholder">
    <button id="previous">< Previous round</button>
    <button id="next">Next round ></button>
    <button id="current">> Current round <</button>
<div style="font-size: 0;">
       <form id="inputform">

   <select name="rounds" id="selectbox">
    <option value="Round 1">--- Round 1 ---</options>
    <option value="Round 2">--- Round 2 ---</options>
    <option value="Round 3">--- Round 3 ---</options>
    <option value="Round 4">--- Round 4 ---</options>
    <option value="Round 5">--- Round 5 ---</options>
    <option value="Round 6">--- Round 6 ---</options>
    <option value="Round 7">--- Round 7 ---</options>
    <option value="Round 8">--- Round 8 ---</options>
    <option value="Round 9">--- Round 9 ---</options>
    <option value="Round 10">--- Round 10 ---</options>
    <option value="Round 11">--- Round 11 ---</options>
    <option value="Round 12">--- Round 12 ---</options>
    <option value="Round 13">--- Round 13 ---</options>
    <option value="Round 14">--- Round 14 ---</options>
    <option value="Round 15">--- Round 15 ---</options>
    <option value="Round 16">--- Round 16 ---</options>
    <option value="Round 17">--- Round 17 ---</options>
    <option value="Round 18">--- Round 18 ---</options>
    <option value="Round 19">--- Round 19 ---</options>
    <option value="Round 20">--- Round 20 ---</options>
    <option value="Round 21">--- Round 21 ---</options>
    <option value="Round 22">--- Round 22 ---</options>
    <option value="Round 23">--- Round 23 ---</options>
    <option value="Round 24">--- Round 24 ---</options>
    <option value="Round 25">--- Round 25 ---</options>
    <option value="Round 26">--- Round 26 ---</options>
    <option value="Round 27">--- Round 27 ---</options>
    <option value="Round 28">--- Round 28 ---</options>
    <option value="Round 29">--- Round 29 ---</options>
    <option value="Round 30">--- Round 30 ---</options>
    <option value="Round 31">--- Round 31 ---</options>
    <option value="Round 32">--- Round 32 ---</options>
    <option value="Round 33">--- Round 33 ---</options>
    <option value="Round 34">--- Round 34 ---</options>
    <option value="Round 35">--- Round 35 ---</options>
    <option value="Round 36">--- Round 36 ---</options>
    <option value="Round 37">--- Round 37 ---</options>
    <option value="Round 38">--- Round 38 ---</options>
    </select>

    <button id="submit">Go</button>
</form>
</div>
<div id="displayround">

</div>
</div>

<上一轮
下一轮>
>当前轮=轮(长度)索引=0;
$(“#displayround”).text(round[index]).data('index',index);
});
$(“#上一个”)。单击(函数(){
var index=+$(“#displayround”)。数据('index')-1;

如果(索引您应该使用
change
event

$('#selectbox').change(function () {
    //Extracted digit from the selected value
    var index = $(this).val().match(/\d+/) - 1;
    $("#displayround").text(round[index]).data('index', index);
});

此外,我建议您将索引存储为值

编辑 我加了一个! 我认为这将对您有很大帮助,并避免一些编码:

我用jquery生成了选项,所以你没有一个大的html <上一轮 下一轮> >本轮< 去

在js中:

$( document ).ready(function() {
createComboBox(1,38,$( "select[name='rounds']"));
$("#buttonholder").find("button").addClass("left")
$("#buttonholder").find("#submit").removeClass("left").addClass("right")
$("#buttonholder").find("#inputform").addClass("right");

$("#displayround").text($("select[name='rounds']").val());

$("#next").click(function () {
  $("#displayround").text(displayValue(parseInt($("select[name='rounds']").val())+1));
});

$("#previous").click(function () {
  $("#displayround").text(displayValue(parseInt($("select[name='rounds']").val())-1));
})

$('#selectbox').change(function(){
    $("#displayround").text(displayValue($(this).val()));
});

$('#current').click(function () {
  $("#displayround").text(displayValue($('#selectbox').val()));
});
 });

    function displayValue(value)
{
    return value +'/38';
}
此functoid创建组合框

    function createComboBox(min,max,selector)
{
    var p;
    for(var i=min; i<max+1; i++)
    {
         p += '<OPTION VALUE='+i+'>'+'Round '+i+'</OPTION>';        
    }
    selector.append(p);
}
函数createComboBox(最小值、最大值、选择器)
{
var-p;

对于(var i=最小值;i@Satpal不确定它是否有效,让我知道。下一轮、上一轮和当前一轮单击该怎么办?div中显示的文本必须是1/38或字符串?@alecellis1985我在按钮下面有一个表,我没有包括。下一轮按钮显示正在进行的足球赛季的下一轮,并添加新的统计数据等。Which我怀疑我现在能做什么,因为我已经开始自己研究实际的数字了。我想我需要学习PHP,使它变得更易于管理。lol。假设我将删除按钮,使它变得简单。你能解释一下“(/\d+/)-1;准确吗?@DuploW,我已经更新了答案并试图提供解释。但是
/\d+/
是从字符串中获取数字的正则表达式,即10
Yahoo10
非常感谢!我将阅读并尝试理解所有内容。谢谢,但目前对我来说,这似乎是一个复杂的javascript。将保存它和它作为示例代码:)只要运行演示,如果你调试它一点,它真的很简单。我想这将帮助你
$( document ).ready(function() {
createComboBox(1,38,$( "select[name='rounds']"));
$("#buttonholder").find("button").addClass("left")
$("#buttonholder").find("#submit").removeClass("left").addClass("right")
$("#buttonholder").find("#inputform").addClass("right");

$("#displayround").text($("select[name='rounds']").val());

$("#next").click(function () {
  $("#displayround").text(displayValue(parseInt($("select[name='rounds']").val())+1));
});

$("#previous").click(function () {
  $("#displayround").text(displayValue(parseInt($("select[name='rounds']").val())-1));
})

$('#selectbox').change(function(){
    $("#displayround").text(displayValue($(this).val()));
});

$('#current').click(function () {
  $("#displayround").text(displayValue($('#selectbox').val()));
});
 });

    function displayValue(value)
{
    return value +'/38';
}
    function createComboBox(min,max,selector)
{
    var p;
    for(var i=min; i<max+1; i++)
    {
         p += '<OPTION VALUE='+i+'>'+'Round '+i+'</OPTION>';        
    }
    selector.append(p);
}