Я не уверен, может ли кто-нибудь помочь мне с этим, но в настоящее время у меня есть <select menu> с onchange, который показывает 2 разных формы при переключении. Проблема заключается в том, что у меня также есть кнопка обновления вне формы и она пытается изменить кнопку, когда изменяется форма.
ниже мои коды. может кто-нибудь помочь мне понять это.
JavaScript:
Скрыть/Показать
function changelocation(val) {
var id = val;
//alert(id);
if (id == '1') {
$('#tr_1').css('display', 'table-row');
$('#tr_2').css('display', 'none');
}
if (id == '2') {
$('#tr_2').css('display', 'table-row');
$('#tr_1').css('display', 'none');
}
}
Кнопка "Сохранить Сохранить"
$ (document).ready(function() {$ ("# location1_update"). click (function() {$ ("# location1"). submit();});});
$(document).ready(function () {
$("#location2_update").click(function () {
$("#location2").submit();
});
});
кнопки
<input class="submit-button" type="submit" name="location1_update" value="Update">
<input class="submit-button" type="submit" name="location2_update" value="Update">
<select menu> - использование smarty note - это отлично работает.
<select class="selmenu-wo" name="company_locations" onChange="changelocation(this.value)">
<option value="1" selected="selected">{section name=r loop=$location1}{$location1[r].LOCATION}
{/section}</option>
<option value="2">{section name=q loop=$location2}{$location2[q].LOCATION} {/section}
</option>
</select>
Формы.
<form action="" id="location1" name="location1" method="POST">
<table cellpadding="0" id="tr_1" cellspacing="0">
<tr> <td><b>Name</b></td>
<input name="test" type="text" value="Test data">
</td></tr>
</table>
</form>
<form action="" id="location2" name="location2" method="POST">
<table cellpadding="0" id="tr_2" style="display:none" cellspacing="0">
<tr> <td><b>Name</b></td>
<input name="test2" type="text" value="Test data">
</td></tr>
</table>
</form>
формы меняются отлично, но я хотел бы, чтобы он отображал кнопку при переключении. если я присвою один и тот же идентификатор форме и кнопку, только кнопка переключается.
использование
$("#location1_update").hide()
а также
$("#location1_update").show()
для скрытия и отображения кнопки. измените этот html whit id вместо имени
<input class="submit-button" type="submit" id="location1_update" value="Update">
<input class="submit-button" type="submit" id="location2_update" value="Update">
то js может быть
if (id == '1') {
$('#tr_1').css('display', 'table-row');
$('#tr_2').css('display', 'none');
$("#location1_update").show();
$("#location2_update").hide();
}
if (id == '2') {
$('#tr_2').css('display', 'table-row');
$('#tr_1').css('display', 'none');
$("#location2_update").show();
$("#location1_update").hide();
}
Добавьте тот же класс к кнопкам и форме, например:
<input class="submit-button location1" type="submit" name="location1_update" value="Update">
<input class="submit-button location2" type="submit" name="location2_update" value="Update">
<form action="" id="location1" class="location1" name="location1" method="POST">
<form action="" id="location2" class="location2" name="location2" method="POST">
Затем покажите/скройте оба из них следующим образом:
function changelocation(val) {
var id = val;
if (id == '1') {
$('.location1').show();
$('.location2').hide();
}
if (id == '2') {
$('.location2').show();
$('.location1').hide();
}
}