Javascript 如何选中选中的选项,抓取一个数组值并按一下按钮将其值写入div?
这个问题可能有点含糊,但我会尽量讲清楚 这是我的HTML: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
<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+/
是从字符串中获取数字的正则表达式,即10Yahoo10
非常感谢!我将阅读并尝试理解所有内容。谢谢,但目前对我来说,这似乎是一个复杂的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);
}