Jquery上有多个带有keyup的函数



我需要更改输入文本的ID,以便在Jquery中使用keyup的两个函数,例如,我选择选项编号1,并在脚本上为id1和编号2编写一个函数keyup,以了解它是否有效。我使用alert,但始终使用默认设置的id。

$('#selector').change(function() {
$('#1,#2').attr('id', $(this).val());
});
$(document).ready(function() {
$('#1').keyup(function() {
alert("OPTION 1 SELECTED");
});
$('#2').keyup(function() {
alert("OPTION 2 SELECTED");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select id="selector">
<option>1</option>
<option>2</option>
</select>
<input id="1" type="text">

怎么了?

您根据元素的原始ID绑定到元素。如果希望绑定遵循不断变化的ID,则必须使用事件委派。

$('#selector').change(function() {
$('#1,#2').attr('id', $(this).val());
});
$(document).ready(function() {
$(document).on("keyup", '#1', function() {
alert("OPTION 1 SELECTED");
});
$(document).on("keyup", '#2', function() {
alert("OPTION 2 SELECTED");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select id="selector">
<option>1</option>
<option>2</option>
</select>
<input id="1" type="text">

但这似乎是一种奇怪的方式。为什么不只使用一个处理

alert("Option " + $("#selector").val() + " selected");

希望这将有助于

$(document).ready(function() {
$('#selector').change(function() {
$('#1,#2').attr('id', this.value);
});
$('input[type="text"]').keyup(function() {
alert("OPTION "+$(this).attr('id')+" SELECTED");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select id="selector">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input id="1" type="text">

相关内容

  • 没有找到相关文章

最新更新