我想将div .item
的值分配给没有名称,ID和类的空文本框。再次模糊输入时,value
会返回div .item
。
$(document).on("click", ".item", function() {
$(this).hide();
$(".input-active input[type='text']").val($(this).text()).focus();
});
$(document).on("blur", ".input-active input[type='text']", function() {
$('.item').show();
$('.item').text($(".input-active input[type='text']").val());
$(".input-active input[type='text']").val('');
});
答案 0 :(得分:0)
使用.prev()
,获取匹配元素集中每个元素的前一个兄弟。如果提供了选择器,则仅当它与该选择器匹配时才会检索前一个兄弟。
和
.next()
,获取匹配元素集中每个元素的紧随其后的兄弟。如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个兄弟。
$(document).on("click", ".item", function() {
$(this).hide();
$(this).next("input[type='text']").val($(this).text()).focus();
});
$(document).on("blur", ".input-active input[type='text']", function() {
$(this).prev('.item').show();
$(this).prev('.item').text(this.value);
$(this).val('');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="input-active">
<div class="item">editing text</div>
<input type="text">
</div>
<div class="input-active">
<div class="item">editing text</div>
<input type="text">
</div>
<div class="input-active">
<div class="item">editing text</div>
<input type="text">
</div>
<div class="input-active">
<div class="item">editing text</div>
<input type="text">
</div>
<div class="input-active">
<div class="item">editing text</div>
<input type="text">
</div>
<div class="input-active">
<div class="item">editing text</div>
<input type="text">
</div>
&#13;
答案 1 :(得分:0)
$( document ).ready(function() {
$(document).on("click", ".item", function () {
$(this).hide();
$(".input-active input[type='text']").val($(this).text());
});
$(document).on("blur", ".input-active input[type='text']", function () {
$('.item').show();
$('.item').text($(this).val());
$(this).val('');
});
});
答案 2 :(得分:0)
$('input').bind('keyup keypress blur change focus click keydown', function (e, param) {
var $this = $(this);
var value = $this.val();
}
上面的代码将为所有输入控件提供所有事件的值....
答案 3 :(得分:0)
你需要使用closest
或parents
找到相关输入/项目的父母,你应该添加条件来检查空案例:
$(document).on("click", ".item", function() {
$(this).hide();
$(this).closest(".input-active").find("input[type='text']").val($(this).text()).focus();
});
$(document).on("blur", ".input-active input[type='text']", function() {
var related_item = $(this).closest(".input-active").find('.item');
if($(this).val()!=""){
related_item.text($(this).val()).show();
$(this).val('');
}
});
希望这有帮助。
$(document).on("click", ".item", function() {
$(this).hide();
$(this).closest(".input-active").find("input[type='text']").val($(this).text()).focus();
});
$(document).on("blur", ".input-active input[type='text']", function() {
var related_item = $(this).closest(".input-active").find('.item');
if($(this).val()!=""){
related_item.text($(this).val()).show();
$(this).val('');
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="input-active">
<div class="item">editing text1</div>
<input type="text"/>
</div>
<div class="input-active">
<div class="item">editing text2</div>
<input type="text"/>
</div>
<div class="input-active">
<div class="item">editing text3</div>
<input type="text"/>
</div>
&#13;