У меня есть список записей на моем экране, используя foreach. Теперь я хочу скрыть/показать текстовое поле на основе события клика на изображении. Мой код выглядит следующим образом:Foreach loop - скрыть/показать на основе события click jquery
@foreach (var dateitem in list)
{
<td style="width:6%;" id="HoursTxt">
@Html.TextBoxFor(modelitem => dateitem.Hours, new { id = string.Format("txtHours"), style = "width:60%;" })
<img [email protected]( dateitem.Project_Id + "_" + dateitem.Task_Id + "_" + "C" + "_img") src="~/Images/comment.png" onclick="GetComments(this.id);" />
<div [email protected]( dateitem.Project_Id + "_" + dateitem.Task_Id + "_" + "C") style="border:solid;display:none;">
<textarea [email protected]( dateitem.Project_Id + "_" + dateitem.Task_Id + "_" + "C" + "_text") style="position:absolute;" class="MyComment"></textarea>
</div>
</td>
}
, когда я нажимаю на второй, третий изображения в этой строке, она показывает текстовое поле под только первый текстовое поле. Моя функция следующая:
function GetComments(id) {
var prev; var strid = id;
prev = strid.replace("_img", '');// alert(prev);
//document.getElementById(prev).style.display = 'block';
if (document.getElementById(prev).style.display == 'block')
{
document.getElementById(prev).style.display = 'none';
}
else if (document.getElementById(prev).style.display == 'none')
{
document.getElementById(prev).style.display = 'block';
}
}
Может ли кто-нибудь помочь мне решить эту проблему? Я хочу, чтобы скрыть/показать текстовое поле каждый раз, ниже конкретного текстового поля .. спасибо заранее ..
Можете ли вы поделиться окончательный вывод HTML, или даже лучше, поставить его на JsFiddle, чтобы мы могли более легко помочь вам реши это...? –
Не отправляйте источник вместо этого, пожалуйста, поместите визуализированный HTML. –
В заголовке вопроса указано «jquery», но у вас нет кода jQuery в ваших образцах кода. –