我在使用jQuery将更改应用于其他输入字段后,无法确定最佳方法。如果只有一个Campaign id,则下面的代码有效。但是,当存在多个Campaign时,我的代码仅将最后一个实例应用于所有Campaign。如何更改此代码以逐个应用于每个Campaign id?
目标:
组织状态从“活动”切换到“暂停”。
对于每个Campaign id:
- 禁用Campaign状态下拉菜单。 - 如果Campaign状态为“已更新”,则保持不变。 - 如果Campaign状态为“活动”,则切换到“暂停”。 - 如果Campaign状态为“暂停”,则保持不变。
组织状态从“暂停”切换到“活动”。
对于每个Campaign id:
- 启用Campaign状态下拉菜单。 - 保持状态不变。
以下是代码(请忽略表格!):
目标:
组织状态从“活动”切换到“暂停”。
对于每个Campaign id:
- 禁用Campaign状态下拉菜单。 - 如果Campaign状态为“已更新”,则保持不变。 - 如果Campaign状态为“活动”,则切换到“暂停”。 - 如果Campaign状态为“暂停”,则保持不变。
组织状态从“暂停”切换到“活动”。
对于每个Campaign id:
- 启用Campaign状态下拉菜单。 - 保持状态不变。
以下是代码(请忽略表格!):
var campaign_status = function () {
// If the Organization Status is set to 'Paused' and the Campaign is 'Active', make the campaign status 'Paused' and disable the drop down.
if ($('#orgautorenewstatus').val() == "Pause" && $('.autorenewstatus').val() == "Active") {
$('.autorenewstatus').prop('disabled', 'disabled');
$('.autorenewstatus').val("Pause");
}
// If the Organization Status is set to 'Paused' and the Campaign is 'Paused' or 'Renewed', leave the Campaign Status and disable the drop down.
else if ($('#orgautorenewstatus').val() == 'Pause') {
$('.autorenewstatus').prop('disabled', 'disabled');
}
else {
$('.autorenewstatus').prop('disabled', false);
}
};
$(campaign_status);
$("#orgautorenewstatus").change(campaign_status);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>Organization Status</h3>
<select id="orgautorenewstatus" name="orgautorenewstatus">
<option value="Active" selected="selected">Active</option>
<option value="Pause">Paused</option>
</select>
<br />
<br />
<h4>Campaign Status</h4>
<table>
<tbody>
<tr>
<td>#1</td>
<td>
<select class="autorenewstatus" name="autorenewstatus_48622">
<option value="Pause">Paused</option>
<option value="Active" selected="selected">Active</option>
<option value="Renewed">Renewed</option></select>
</td>
</tr>
<tr>
<td>#2</td>
<td>
<select class="autorenewstatus" name="autorenewstatus_48884">
<option value="Pause">Paused</option>
<option value="Active">Active</option>
<option value="Renewed" selected="selected">Renewed</option>
</select>
</td>
</tr>
<tr>
<td>#3</td>
<td>
<select class="autorenewstatus" name="autorenewstatus_49000">
<option value="Pause">Paused</option>
<option value="Active" selected="selected">Active</option>
<option value="Renewed">Renewed</option>
</select>
</td>
</tr>
</tbody>
</table>
一定有更简单和直接的方法。虽然我是jQuery新手,但我正在尽快学习。感谢您的帮助!