jquery和设置值范围

时间:2009-12-04 15:19:46

标签: jquery ajax html-select

我试图想出一种方法,使用ajax和jquery来显示一个选择框的值范围。 第一个下拉列表有需要与第二个下拉框对话的选项,这是一个数字范围,我知道如何将下拉值设置为1,但不是如何设置整个范围。默认情况下,下拉列表由php范围函数生成。

任何帮助都将不胜感激。

更新 这不是最优雅的,但这就是我所拥有的

$('.change').change(function(){
var options='';
var max = $('.change option:selected').attr('title');
var min = $('.change option:selected').attr('id');


for(i=min; i <= max; i++){
    options+='<option value="'+i+'">'+i+'</option>';
}
$('select[name=ticket_qty]').find("option").remove();

$('select[name=ticket_qty]').append(options);


});

我无法为所选选项拉出“ID”和“TITLE”

3 个答案:

答案 0 :(得分:2)

如果列表很大,您可能想要使用类似:

var options='';
for(i=1; i <= 1234; i++){
    options+='<option value="'+i+'">'+i+'</option>';
}
$(yourSelect).append(options);

答案 1 :(得分:1)

如果这些是数值,您可能需要考虑使用jQuery UI Slider。否则,您只需要通过附加到选择标记来删除/添加选项框中的选项。

在第一个文本框的更改事件中,调用一个函数,该函数将修改选择框2中的选项,删除不再可行的值。

function addValue(value, target) {
  $('<option value="' + value + '">' + value + '</option>').appendTo( target ); 
}

function clearValues (target) {
  $(target).find("option").remove();
}

然后您将按如下方式调用该函数:

addValue(12,$("#select2 input") );

注意:我没有测试过这段代码,只是对方法的一般概念。

这种效果可能会有用。

答案 2 :(得分:0)

您需要遍历选择框中的项目(element.options),然后在给定属性上设置.selected属性。

通过这种方式,您可以设置多个选择。

即。 element.options [i] .selected = true