2010-03-11 54 views
0

我现在拥有的javascript代码可以切换单行数据。无论是JQuery还是JavaScript,我如何切换多行?在此示例中,当选择位置1(值=“1”)时,我希望显示tr标签“11”,“12”,“13”(位置“1”建筑物“1”= >“11”),位置2显示tr“21”,“22”。如何使用ddl onchange()切换多行显示? (jQuery或javascript)

<script type="text/javascript" language="javascript"> 
function propertySelected() { 
    var Select = document.getElementById('Select'); 
    var Table = document.getElementsByName('List')[0]; 
    var strSelect = Select.options[Select.selectedIndex].value; 
    var rows = Table.getElementsByTagName("tr"); 
    var rowSelect = document.getElementById(strSelect); 
    for (var i = 0; i < rows.length; i++) { 
     rows[i].style.display = 'none'; 
     } 
     rowSelect.style.display = ''; 
}  
</script> 

...

<select id="Select" onchange="Selected()">     
    <option value="1">Location 1</option> 
    <option value="2">Location 2</option> 
    <option value="3">Location 3</option> 
</select> 

...

<table> 
    <tr id="11"><td>Location 1 Build 1</td></tr> 
    <tr id="12"><td>Location 1 Build 2</td></tr> 
    <tr id="13"><><td>Location 1 Build 3</td></tr> 
    <tr id="21" style="display:'none';"><><td>Location 2 Build 1</td></tr>  
    <tr id="22" style="display:'none';"><><td>Location 2 Build 2</td></tr> 
    <tr id="31" style="display:'none';"><><td>Location 3 Build 1</td></tr> 
</table> 
+0

代表与您有多接近r

?如果那是我们可以预期的数据类型(单个字符串),那么解决方案非常简单。 – 2010-03-11 17:21:31

回答

1

而是隐藏所有行,然后显示一行,把一些逻辑回路,让您隐藏或显示每行取决于ID:

<script type="text/javascript"> 

function propertySelected() { 
    var Select = document.getElementById('Select'); 
    var Table = document.getElementsByName('List')[0]; 
    var strSelect = Select.options[Select.selectedIndex].value; 
    var rows = Table.rows; 
    var rowSelect = document.getElementById(strSelect); 
    for (var i = 0; i < rows.length; i++) { 
    var row = rows[i]; 
    row.style.display = (row.id.substr(0,1) == strSelect) ? '' : 'none'; 
    } 
}  

</script> 
+0

你是个天才!谢谢 – MrM 2010-03-11 17:40:03