[英]How to iterate this.value in javascript
I am trying to compare this.value with Drupal.settings["pis_var" + i].hasOwnProperty(j).我正在尝试将 this.value 与 Drupal.settings["pis_var" + i].hasOwnProperty(j) 进行比较。
However, I am not able to iterate this.value.但是,我无法迭代 this.value。 It is just comparing with first value not one by one.
它只是与第一个值进行比较,而不是一一比较。
Any suggestions would be appreciated.任何建议,将不胜感激。
var controllers = $("[data-drupal]");
var pis = $("[data-pis]");
var i = 0;
var controller = $(controllers[i]);
var inventory = $(pis[i]);
var index = 0;
$(controllers[i]).each(function (index) {
console.log(Drupal.settings["pis_var" + i]);
console.log(this.value);
var j=0;
for (j in Drupal.settings["pis_var" + i])
{
if (Drupal.settings["pis_var" + i].hasOwnProperty(j))
{
console.log(Drupal.settings["pis_var" + i][j] + '--' + i + '--' + j + '--' + this.value);
if (this.value !== Drupal.settings["pis_var" + i][j])
{
console.log(this.value + '--' + Drupal.settings["pis_var" + i][j]);
}
}
}
i++;
});
HTML code ( which is drupal code) I have derived from the page source.我从页面源代码派生的 HTML 代码(这是 Drupal 代码)。
<table>
<tbody>
<tr>
<td class="label">Experiment #: <span class="form-required" title="This field is required.">*</span></td>
<td><div class="form-item" id="ExExCode-wrapper">
<input type="text" maxlength="8" name="ExExCode" id="ExExCode" size="8" value="201914" data-drupal="pic_code" data-pis="ExExCode_pis" class="form-text required" />
</div>
</td>
</tr>
<tr>
<td class="label">Experiment Name <span class="form-required" title="This field is required.">*</span></td>
<td><div class="form-item" id="edit-ExName-wrapper">
<input type="text" maxlength="60" name="ExName" id="edit-ExName" size="60" value="Seismic sliding law" data-drupal="ExName" data-pis="ExName_pis" class="form-text required" />
</div>
</td>
</tr>
<tr>
<td class="label">Experiment Description <span class="form-required" title="This field is required.">*</span></td>
<td><div class="form-item" id="edit-ExDesc-wrapper">
<input type="text" maxlength="80" name="ExDesc" id="edit-ExDesc" size="80" value="Using passive seismics to determin a glacier sliding law" data-drupal="ExDesc" data-pis="ExDesc_pis" class="form-text required" />
</div>
</td>
</tr>
<tr>
<td class="label">Sponsor</td>
<td><div class="form-item" id="edit-ExSponsor-wrapper">
<input type="text" maxlength="18" name="ExSponsor" id="edit-ExSponsor" size="18" value="UNIV/N/A" data-drupal="ExSponsor" data-pis="ExSponsor_pis" class="form-text" />
</div>
</td>
</tr>
<tr>
<td class="label">Sensors</td>
<td><div class="form-item" id="edit-types-Sensor-wrapper">
<input type="text" maxlength="25" name="types_Sensor" id="edit-types-Sensor" size="25" value="" data-drupal="types_Sensor" data-pis="types_Sensor_pis" class="form-text" />
</div>
</td>
</tr>
<tr>
<td class="label">Recorders</td>
<td><div class="form-item" id="edit-types-Recorder-wrapper">
<input type="text" maxlength="25" name="types_Recorder" id="edit-types-Recorder" size="25" value="" data-drupal="types_Recorder" data-pis="types_Recorder_pis" class="form-text" />
</div>
</td>
</tr>
<tr>
<td class="label">Foreign?</td>
<td><div class="form-radios"><div class="form-item" id="edit-ExDF-N-wrapper">
<label class="option" for="edit-ExDF-N"><input type="radio" id="edit-ExDF-N" name="ExDF" value="N" data-drupal="ExDF" data-pis="ExDF_pis" class="form-radio" /> NO</label>
</div>
<div class="form-item" id="edit-ExDF-Y-wrapper">
<label class="option" for="edit-ExDF-Y"><input type="radio" id="edit-ExDF-Y" name="ExDF" value="Y" data-drupal="ExDF" data-pis="ExDF_pis" class="form-radio" /> Yes</label>
</div>
</div></td>
</tr>
<tr>
<td class="label">Billing Address</td>
<td><div class="form-item" id="edit-ExBilling-wrapper">
<textarea cols="50" rows="10" name="ExBilling" id="edit-ExBilling" data-drupal="ExBilling" data-pis="ExBilling_pis" class="form-textarea resizable "></textarea>
</div>
<div class="textarea-identifier description">CKEditor: the ID for <a href="/admin/settings/ckeditor">excluding or including</a> this element is <em>passcal:sdb/expt/201914/pisreview.edit-ExBilling</em>.</div></td>
</tr>
Thank you in advance.先感谢您。
You're only iterating over one controller.你只是在一个控制器上迭代。
$(controllers[i])
is evaluated when the .each()
starts, so it just uses i=0
, it doesn't go to the next controller when you do i++
. $(controllers[i])
在.each()
开始时被评估,所以它只使用i=0
,当你做i++
时它不会转到下一个控制器。
You should use你应该使用
controllers.each(function(i) {
...
})
There's no need for you to increment i
yourself.你不需要自己增加
i
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.