2013-10-02 65 views
-1

我有一個JSON:依賴使用JSON和選擇

{ 
    "A": { 
     "1": "1", 
     "2": "2", 
     "3": "3" 
    }, 
    "B": { 
     "4": "4", 
     "5": "5", 
     "6": "6" 
    }, 
    "C": { 
     "7": "7", 
     "8": "8" 
    } 
} 

兩個選擇:

<select id="main"> 
    <option></option> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
</select> 

和:

<select id="sub"> 
    <option></option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="5">5</option> 
    <option value="6">6</option> 
    <option value="7">7</option> 
    <option value="8">8</option> 
</select> 

我想,例如:

如果我選擇#主選擇A然後這應該隱藏4,5,6,7和8中選擇#子

如果我在選擇#主選擇B,則此應隱藏1,2,3,7及8中選擇#子

如果我選擇C在選擇#主,那麼這應該隱藏1,2,3,4,5和6在選擇#sub

使用json的依賴關係。

我怎樣才能使它不使用AJAX?

+2

你的標題沒有什麼關係的問題。 – 2013-10-02 21:35:05

+1

「AJAX」是什麼意思?您沒有描述任何服務器請求。 –

+0

對不起,我更正了標題 – rafael3444

回答

0

你並不需要使用AJAX,如果你有你的對象得心應手:

嘗試

var $sub = $('#sub'); 
$sub.find('option:gt(0)').remove(); 
$('#main').on('change', function(){ 
    var options = opts[this.value]; 
    $sub.find('option:gt(0)').remove(); 
    var $this = $(this); 
    $sub.append($.map(options, function(i, o){ 

     return $('<option/>', {value:i, text:o}); 
    })); 
}); 

Fiddle

+0

完美,非常感謝:)你能否修改這段代碼http://jsfiddle.net/MhjSy/1/來開始工作?我設置選擇B,但在開始這不工作 – rafael3444

+0

@ rafael3444這種方式http://jsfiddle.net/fRpcW/ – PSL