Показать сообщение отдельно
  #2 (permalink)  
Старый 03.08.2011, 11:35
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Правильно передавать данные, правильно разбирать на клиенте и отображать.
<select onchange="loadSubdata(this)">
    <option>-- Select category --</option>
    <option value="1">Category one</option>
    <option value="2">Category two</option>
</select>

<select id="test">
    <option>-- Subcategory --</option>
</select>

<script>
function getDataAbstaraction(val, callback) {
    var data = {
        1: {11: '11', 12: '12'},
        2: {21: '21', 22: '22'}
    };
    callback(data[val]);
}

function loadSubdata(obj) {
    var val = obj.options[obj.selectedIndex].value;
    if (!val) {
        return;
    }

    getDataAbstaraction(val, function(data) {
         var opts = '<option>-- Subcategory --</option>';
         for (var i in data) {
             opts += '<option value="' + i + '">' + data[i] + '</option>';
         }
         document.getElementById('test').innerHTML = opts;
    });
}
</script>
Ответить с цитированием