Javascript 动态更改后JS未在模式内运行';身份证
我使用的是引导模式,我在其中调用了一个自动完成函数,当它设置为这样时,一切都很好:Javascript 动态更改后JS未在模式内运行';身份证,javascript,php,mysql,Javascript,Php,Mysql,我使用的是引导模式,我在其中调用了一个自动完成函数,当它设置为这样时,一切都很好: data-target="#modalAdicao<?php echo htmlspecialchars($idModal); ?>" 具有数据目标以调用模式id的按钮: data-target="#modalAdicao" 以及id设置为与数据目标匹配的div: id="modalAdicao" 但是因为它是在PHP foreach中调用的,我需要保留信息,所以我必须设置模式的id,就像我正在
data-target="#modalAdicao<?php echo htmlspecialchars($idModal); ?>"
具有数据目标以调用模式id的按钮:
data-target="#modalAdicao"
以及id设置为与数据目标匹配的div:
id="modalAdicao"
但是因为它是在PHP foreach中调用的,我需要保留信息,所以我必须设置模式的id,就像我正在处理的mysql行的id一样,如下所示:
data-target="#modalAdicao<?php echo htmlspecialchars($idModal); ?>"
data target=“#modalAdicao”
以及:
id=“modalAdicao”
在此之后,信息被保留,但js停止工作,就像我从未调用过它一样,但它一直在那里:
<script src="js/procura-paciente.js"></script>
任何人都可以提供帮助?打开模式时,id会更改,模式会重新绘制。但是js事件已经定义。 试着用这个
$(document).on('input','.busca', limpaCampos);
for
循环生成许多#busca
,而id
是唯一的。改为使用class
。比如说
php表单
<form id="novoAgendamento" method="POST" action="include/novo_agendamento.php">
<div class="form-inline">
<div class="form-group">
<label for="busca" class="sr-only">Identidade</label>
<input type="text" id="busca" data-id="<?php echo htmlspecialchars($idModal); ?>" placeholder="Identidade" name="rgPaciente" class="mx-sm-69 form-control busca" required>
</div>
<div class="form-group">
<label for="nascimentoPaciente" class="sr-only">Nascimento</label>
<input type="text" id="nascimentoPaciente" placeholder="Nascimento" name="nascimentoPaciente" class="mx-sm-69 form-control" required>
</div>
</div>
<div class="form-group">
<label for="nomePaciente"></label>
<input type="hidden" name="nomePaciente" class="form-control nomePaciente">
<input type="hidden" name="cpfPaciente" class="form-control cpfPaciente">
<input type="hidden" name="horaPaciente" value="<?php echo htmlspecialchars($horarios[$i]); ?>" class="form-control horaPaciente">
<input type="hidden" name="dataPaciente" value="<?php echo htmlspecialchars($data_agendamento_convert); ?>" class="form-control dataPaciente">
<input type="hidden" name="medicoPaciente" value="<?php echo htmlspecialchars($medico_completo); ?>" class="form-control medicoPaciente">
<input type="text" placeholder="Nome do Paciente" class="form-control nomePaciente2" disabled="">
<label for="observacaoPaciente"></label>
<input type="text" name="observacaoPaciente" placeholder="Observação" class="form-control" required>
</div>
<div class="modal-footer">
<button type="button" data-dismiss="modal" class="btn btn-secondary">Fechar</button>
<button type="submit" class="btn btn-primary">Agendar</button>
</div>
</form>
你在procura paciente.js中调用了
…modal('show')
?不,我该怎么做?给我们看看你的html代码整个modal:procura-paciente.js文件:不工作,我认为ID不会改变,因为它在循环中,只有当我们点击下一行调用modal的按钮时才会改变,下面是完整的代码,这样您就可以了解整个画面中发生了什么。将模态中的所有id更改为类,id在一个页面中只有一个。对不起,我不明白您的意思。您使用了循环的。#busca
生成了计数($horarios)
次。我认为这会带来问题,因为ID是唯一的。我明白了,但如果没有它,我就无法将模态的内容与右侧关联,比如我的for,这个模态应该用来编辑所选的行,当我没有使用变量$id来迭代模态id时,这就是当我选择11:00时发生的情况。模态给了我第一个可编辑的选项,在本例中是09:00。
$(function() {
$('#tableteste').on('input', '.busca', function(){
var busca = $(this).val();
var form = $(this).parents().eq(2);
if(busca == ""){
form.find('.nomePaciente').val('');
form.find('.nomePaciente2').val('');
form.find('.rgPaciente').val('');
form.find('.nascimentoPaciente').val('');
form.find('.cpfPaciente').val('');
}
});
.....
});