我需要修改 ID
输入文本的两个功能,使用 keyup
用Jquery,例如,我选择了选项编号为 1
而在我的脚本中,我为id写了一个函数keyup 1
和其他为数 2
为了知道它是否有效,我使用 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">