基于jquery的下拉列表的可能解决方案?
我通过jquery append函数在一个完全独立的页面上生成一个下拉列表。 如果我只是使用append,我会得到重复的数据行
if(params.totalRecords > 50){ var i, j; j = 0; for(i=0; i < params.totalRecords; i++){ if(i%50==0){ $('#startRecord').append( $('').val(i).html((j+1)+'-'+(j+=50))); } } $('#dropDownSpan').css('visibility', 'visible'); }
所以现在当我添加值来下拉时,它正在添加像这样的重复行
1-50 51-100 1-50
根据我选择的选项,它只会使它重复。
现在要避免我做了以下事情
if(params.totalRecords > 50){ $('#startRecord').val(0).html("1-50"); var i, j; j = 0; for(i=0; i < params.totalRecords; i++){ if(i%50==0){ $('#startRecord').append( $('').val(i).html((j+1)+'-'+(j+=50))); } } $('#dropDownSpan').css('visibility', 'visible'); }
现在的问题是它总是将它重新调整为1-50记录的原因
$('#startRecord').val(0).html("1-50");
我怎么能在那里显示最后选择的那个。 谢谢
我将在这里建议一个非常不同的,希望更简单的循环方法:
if(params.totalRecords > 50){ for(var i=0; i < params.totalRecords; i+=50) { $('', { value: i, html: (i+1)+'-'+Math.min(i+50, params.totalRecords) }) .appendTo('#startRecord'); } $('#dropDownSpan').css('visibility', 'visible'); }
你可以在这里尝试一下 ,这简化了整个循环的完成方式。 我仍然不能100%确定你如何获得额外的附加行,你确定你的当前代码不会以某种方式被调用两次,总totalRecords
数不同吗?
关于上面的一方说明,它的输出略有不同,比如说121条记录而不是“101-150”,它会把“101-121”作为最后一项更准确,我希望这就是你的’之后,整体输出如下:
用这个var i求解它,j = 0,y = 0; //检查我们有50多少块。 每50条记录1条。 最后一个块不必全部为50(r = 0; r