Я пытаюсь перебрать все текстовые поля, помещенные в <div class="col-md-2">
, используя javascript, чтобы изменить их идентификаторы следующим образом ..
function iterateBoxesAndSetUniqueIds() {
var childDivs = document.getElementById('subContent').children;
//alert(childDivs.length);
for( i=0; i< childDivs.length; i++ )
{
var el = children[i];
el.name = 'events[' + i + '].Key'; //
el.id = 'events[' + i + '].Key';
el.name = 'events[' + i + '].Value.StartDate';
el.id = 'events[' + i + '].Value.StartDate';
el.name = 'events[' + i + '].Value.EndDate';
el.id = 'events[' + i + '].Value.EndDate';
el.name = 'events[' + i + '].Value.Description';
el.id = 'events[' + i + '].Value.Description';
}
<div id="divcontent">
<div class="form-group" id="subContent">
<div class="col-md-2">
<input type="text" name="events[0].Key" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.StartDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.EndDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.Description" value="">
</div>
<div class="col-md-2">
<button type="button" class="btn btn-sm btn-primary" onclick="RemoveTextBox(this)"><i class="fa fa-angle-right"></i> Remove</button>
</div>
</div>
<div class="form-group" id="subContent">
<div class="col-md-2">
<input type="text" name="events[0].Key" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.StartDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.EndDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.Description" value="">
</div>
<div class="col-md-2">
<button type="button" class="btn btn-sm btn-primary" onclick="RemoveTextBox(this)"><i class="fa fa-angle-right"></i> Remove</button>
</div>
Результат, который я ищу for is this ...
<div id="divcontent">
<div class="form-group" id="subContent">
<div class="col-md-2">
<input type="text" name="events[0].Key" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.StartDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.EndDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[0].Value.Description" value="">
</div>
<div class="col-md-2">
<button type="button" class="btn btn-sm btn-primary" onclick="RemoveTextBox(this)"><i class="fa fa-angle-right"></i> Remove</button>
</div>
</div>
<div class="form-group" id="subContent">
<div class="col-md-2">
<input type="text" name="events[1].Key" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[1].Value.StartDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[1].Value.EndDate" value="">
</div>
<div class="col-md-2">
<input type="text" name="events[1].Value.Description" value="">
</div>
<div class="col-md-2">
<button type="button" class="btn btn-sm btn-primary" onclick="RemoveTextBox(this)"><i class="fa fa-angle-right"></i> Remove</button>
</div>
Но я получаю ошибку "ReferenceError: children is notfined" в javascript при запуске функции javascript. Может кто-нибудь помочь, пожалуйста?
ОБНОВЛЕНИЕ После изменения функции результат теперь выглядит следующим образом ..
<div id="divcontent">
<div class="form-group" id="subContent">
<div class="col-md-2" id="events[0].Value.Description">
<input type="text" name="events[0].Key" value="">
</div>
<div class="col-md-2" id="events[1].Value.Description">
<input type="text" name="events[0].Value.StartDate" value="">
</div><div class="col-md-2" id="events[2].Value.Description">
<input type="text" name="events[0].Value.EndDate" value="">
</div>
<div class="col-md-2" id="events[3].Value.Description">
<input type="text" name="events[0].Value.Description" value="">
</div>
<div class="col-md-2" id="events[4].Value.Description">
<button type="button" class="btn btn-sm btn-primary" onclick="RemoveTextBox(this)"><i class="fa fa-angle-right"></i> Remove</button>
</div>
</div>
при использовании этого кода ..
function iterateBoxesAndSetUniqueIds() {
var childDivs = document.getElementById('subContent').children;
//alert(childDivs.length);
for( i=0; i< childDivs.length; i++ )
{
var el = childDivs[i];
el.name = 'events[' + i + '].Key'; //
el.id = 'events[' + i + '].Key';
el.name = 'events[' + i + '].Value.StartDate';
el.id = 'events[' + i + '].Value.StartDate';
el.name = 'events[' + i + '].Value.EndDate';
el.id = 'events[' + i + '].Value.EndDate';
el.name = 'events[' + i + '].Value.Description';
el.id = 'events[' + i + '].Value.Description';
}