#javascript #dhtml
#javascript #dhtml
Вопрос:
У меня есть некоторый код, который работает на моем блоке разработки IIS 5.1, но не на нашем рабочем сервере IIS 6 ИЛИ в Firefox. Я надеюсь найти какой-нибудь код, который будет соответствовать как нашему производственному серверу, так и Firefox.
Вот что происходит:
У меня есть ярлык, который изначально должен отображаться как скрытый. Я в основном использую эту метку, чтобы скрыть всю строку.
<label for="lbCloseDate" id="lbCloseDate" style="display:none">
<tr>
<td bordercolor="#f0f0e4" bgcolor="#f0f0e4"><h3>Close Date</h3></td>
</tr>
</label>
Затем я использую этот javascript для отображения его на основе значения поля со списком:
function statusShowHide()
{
var cboStatus = document.getElementById('cboStatus');
var lbCloseDate = document.getElementById('lbCloseDate');
if cboStatus = 'Closed')
{
lbCloseDate.style.display = "";
}
}
По сути, то, что происходит в Firefox и нашем prod-сервере, заключается в том, что метка / строка не скрывается. У меня нет ошибки; он просто не скрывается, как я хочу.
Мне не нужно использовать ярлык, чтобы скрыть row…it просто это единственный известный мне способ. Итак, если что-то более предпочтительно для достижения той же цели, я открыт для этого. Спасибо!
Ответ №1:
у вас отсутствует a (здесь также == для сравнения, single = для присвоения.
if (cboStatus == 'Closed')
{
lbCloseDate.style.display = "";
}
попадает ли это в этот блок? если это так, я бы рекомендовал изменить .display = «»; на .display = «нет»
вы также можете просто присвоить своему tr идентификатор и использовать его для скрытия / отображения строки вместо метки. будет более синтаксически корректным.
Редактировать:
Вот пример скрипки с рабочим примером: http://jsfiddle.net/2FDPg /
Вот основы:
function showOrHideRow(){
var theRow = document.getElementById('closeRow');
var theDropDown = document.getElementById('ChangeMe');
var theVal = theDropDown.options[theDropDown.selectedIndex].value;
if(theVal == 'Closed'){
theRow.style.display = 'none';
}
else{
theRow.style.display = 'block';
}
}
и html:
<table>
<tr id="closeRow">
<td>Close Date:</td>
</tr>
<tr>
<td>another row</td>
</tr>
</table>
<select id="ChangeMe" onChange="showOrHideRow()">
<option value="">Change me</option>
<option value="Closed">Hide It</option>
<option value="Open">Don't Hide It</option>
</select>
Комментарии:
1. К сожалению, все еще не работает. Кроме того, использование «» должно сделать ярлык видимым, не так ли? Он не предназначен для отображения «none» — пустая строка по сути такая же, как «block», как я думал, и более совместима с Firefox …. если я не ошибаюсь?
2. о, я думал, у вас возникли проблемы с его скрытием, а не с его отображением! какую версию firefox вы используете?