2009-12-04 68 views
0

我想出一種方法使用ajax和jquery來顯示一個選擇框的值範圍。 第一個下拉菜單中有需要與第二個下拉框對話的選項,這是一個數字範圍,我知道如何將下拉的值設置爲1的值,但不知道如何設置整個範圍。默認情況下,下拉菜單是由php範圍函數生成的。jquery和值的設置範圍

任何幫助,將不勝感激。

更新 這還不是最優雅的,但這裏是我有

$('.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」所選選項

回答

1

如果列表很大,你可能想使用類似:

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

如何拉的特定

+0

的ID難道他們有一個ID和標題設置?此外,您的示例代碼暗示該ID由一個無效的整數組成。 – kon 2009-12-04 20:46:57

0

你將需要迭代選擇框中的項目(element.options),然後在給定屬性上設置.selected屬性。

以這種方式,您可以設置多個選擇。

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

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")); 

注:我沒有測試此代碼,這是一個方法只是一個大致的瞭解。

爲此目的可能會有所幫助。