javascript函数冻结我的浏览器

时间:2013-11-16 16:27:12

标签: javascript html5

我有两个选择对象一,有开始时间,一个有结束时间。 当我选择例如11:00在开始时间我希望所有选项在结束时间11:00之前的所有选项蜜蜂禁用11:15选择和休息选项可选择。 另外我想说我是javascript的新手。

这是我的HTML代码的一部分:

<select id="rbaslasaat" onchange="bitissaati(1384581600, 1384586100);">
<option value="1384581600">10:00</option>
<option value="1384582500">10:30</option>
<option value="1384583400">11:00</option>
<option value="1384584300">11:30</option>
<option value="1384585200">12:00</option>
<option value="1384586100">12:30</option>
</select></div>

<select id="rbitirsaat">
<option id="saatb1384581600" value="1384581600" disabled="">10:00</option>
<option id="saatb1384582500" value="1384582500" disabled="">10:30</option>
<option id="saatb1384583400" value="1384583400" disabled="">11:00</option>
<option id="saatb1384584300" value="1384584300" disabled="">11:30</option>
<option id="saatb1384585200" value="1384585200" disabled="">12:00</option>
<option id="saatb1384586100" value="1384586100" disabled="">12:30</option>
</select></div>

这是我的JavaScript函数:

function bitissaati(saata, saatb) {
var saata, saatb, saatc, saatca, sec, i;
saatc = document.getElementById('rbaslasaat');
saatca = saatc.options[saatc.selectedIndex].value;
sec = parseInt(saatca) + 900;
for (i = saata; i<= saatb; i + 900) {
if(i <= saatca ) { document.getElementById('saatb'+i).disabled=true; }
else { document.getElementById('saatb'+i).disabled=false; }
}
document.getElementById('saatb'+sec).selected=true;
}

我无法弄清楚问题是什么。 每次我尝试功能时,我的浏览器都会冻结。

谢谢大家帮忙

3 个答案:

答案 0 :(得分:2)

修复您的代码:

for ( i = saata; i<= saatb; i += 900) {

编辑:删除了var

答案 1 :(得分:2)

我只是这样做:

function bitissaati(elem) {
    var opt = document.getElementById('rbitirsaat').getElementsByTagName('option'),
        val = elem.value;

    for (i=opt.length; i--;)  {
        opt[i].disabled = opt[i].value <= val;
    }
}

FIDDLE

答案 2 :(得分:0)

用此

替换loop
for (var k = saata; k<= saatb; k += 900) {
    if (k <= saatca) {
        document.getElementById('saatb'+k).disabled=true;
    }
    else {
        document.getElementById('saatb'+k).disabled=false;
    }
}