我正在尝试使用 QuerySelector 获取数据表单中每个评论的值。有一个“添加”按钮,允许显示另一个并将元素的名称增加 +1。因此,例如第一个评论的名称为“comment0”,第二个,“comment1”,等等....
这是我尝试在其中使用 javascript 的 html:
<li id="duplicate" class="list-group-item">
<select name="acc<?php echo $count; ?>" class="form-control col-md-6 duplicate-select">
<option value="choix">-- Choisir --</option>
<option class="duplicate-option" value="kitpieton">Kit piéton</option>
<option class="duplicate-option" value="chargeur">Chargeur</option>
<option class="duplicate-option" value="batterie">Batterie</option>
<option class="duplicate-option" value="capot">Capot batterie</option>
<option class="duplicate-option" value="sdcard">Carte SD</option>
<option class="duplicate-option" value="box">Emballage</option>
<option class="duplicate-option" value="autre">Autre (préciser)</option>
</select>
<input name="comment<?php echo $count; ?>" type="text" class="form-control duplicate-input" class="cold-md-6" placeholder="Détails"/>
<div class="btn-group btn-toggle" data-toggle="buttons">
<label class="btn btn-sm btn-default">
<input type="radio" name="check<?php echo $count; ?>" class="btn duplicate-check" value="1">
<span class="glyphicon glyphicon-ok"></span>
</label>
<label class="btn btn-sm btn-primary active">
<input type="radio" name="check<?php echo $count; ?>" class="btn duplicate-check" value="0" checked >
<span class="glyphicon glyphicon-remove"></span>
</label>
</div>
<div class="clearfix"></div>
</ul>
</li>
至于 javascript,这个带有一个 name 属性的 querySelector 有效:
var form = document.forms[1];
var selectElement = form.querySelector('input[name="comment0"]');
var selectedValue = selectElement.value;
alert(selectedValue);
但在 a for 它不识别 [i] :
var count = +$('.count').val() +1 ;
for(i=0;i<count; i++)
{
var form = document.forms[1];
var selectElement = form.querySelector('input[name="comment[i]"]');
var selectedValue = selectElement.value;
alert(selectedValue);
}
如果您可以通过 Javascript 为我提供解决方案,我将不胜感激,但我仍然很乐意看到您如何使用 JQUERY 来做到这一点。
我也尝试使用 querySelectorAll,当我使用 3 个注释 type=text 并且其中 2 个具有值时,它不会显示元素的值:
var queryAll = document.querySelectorAll('#duplicate input');
var queryAllLength = queryAll.length;
alert(queryAll[1].value); // shows 1
alert(queryAllLength); // shows 3
当我更改 var queryAll = document.querySelectorAll('#duplicate input'); 到 var queryAll = document.querySelectorAll('#duplicate .duplicate-input'); ,两个警报都只显示 var queryAll = document.querySelectorAll('#duplicate .form-control'); , queryAll 只显示 queryAllLength 显示 2 ...