[英]how to set value to input textbox jquery
我有一个带有文本框列的表,我想获取旧值并将其设置为onchange
文本框。
<span class="txt_b">
<input type="number" name="" value="<?php echo $req; ?>" onchange="onChangeTest(this)" onchange="setoldvalue(this)" oldvalue="" class="input_md radious_all innershadow padding_control" id ="tk" style="width:60px;" id="qty_req_<?php echo $i; ?>" onblur="editBucket('<?php echo $row_id; ?>','<?php echo $item['Item']['code']; ?>',$('#qty_war_<?php echo $i; ?>').val(),this.value,'<?php echo $date; ?>',$('#stock_notes_<?php echo $i; ?>').val(),'<?php echo $item['Item']['pack_size']; ?>')"/>
</span>
</div>
<input type="hidden" name="product" id="qty_reqty_" class="product" value="qty_reqty_<?php echo $i; ?>" />
</div>
<script>
function getoldvalue()
{
$('input').on('focusin', function(){
console.log("Saving value " + $(this).val());
$(this).data('val', $(this).val());
});
$('input').on('change', function(){
var prev = $(this).data('val');
$('input').val(prev);
console.log(s);
var current = $(this).val();
console.log("Prev value " + prev);
console.log("New value " + current);
});
我正在努力将值设置为文本框。 如何通过id
呢?
这是我的jQuery对话框
函数editCart(id,code,stock_wh,stock_rq,date,notes,pack){
if((stock_rq%pack) != 0){
$('<div></div>').appendTo('body')
.html('<div id="dialog"><h3>The quantity should be multiple of pack size, do you wish to continue with the quantity entered?</h3></div>')
.dialog({
modal: true,
title: 'message',
zIndex: 10000,
autoOpen: true,
width: 'auto',
resizable: true,
buttons: {
Yes: function () {
doFunctionForYes();
$(this).dialog("close");
},
No: function () {
doFunctionForNo();
$(this).dialog("close");
}
},
close: function (event, ui) {
$(this).remove();
}
});
$('#msg').hide();
function doFunctionForYes() {
$('#msg').show();
}
function doFunctionForNo() {
alert("doFunctionForNo");
});
}
}
您在定义html时遇到了一些问题:
您可以将data-oldvalue属性设置为输入,并使用jQuery访问该属性
<input type="text" id="qty_req_<?php echo $i; ?>" data-oldvalue="<?php echo $req; ?>" />
<script>
$( document ).ready(function() {
oldvalue = $("#qty_req_<?php echo $i; ?>").data('oldvalue');
});
</script>
jQuery代码仅用于示例,您可以在需要的任何地方使用此代码
首先,只有在拥有html5
,才可以使用$(this).data
来保存值。 所以我刚刚将其添加为$(this).attr('data-val')
。 现在的问题是,即使您输入任何新内容,您始终具有旧值作为input
value
,并且在将input value
更改为旧value
后获得了current value
value
。 当您登录console.log(s)
,还存在一个undefined
错误,因为s
并未在任何地方定义。
$('input').on('focus', function() { $('body').append("<br/>Saving value " + $(this).val()); $(this).attr('data-val', $(this).val()); }); $('input').on('change', function() { var prev = $(this).data('val'); var current = $(this).val(); $(this).val(prev); console.log("Prev value " + prev); console.log("New value " + current); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div> <span class="txt_b"> <input type="number" name="" value="20" class="input_md radious_all innershadow padding_control" id ="tk" style="width:60px;" id="qty_req_<?php echo $i; ?>"/> </span> </div> <input type="hidden" name="product" id="qty_reqty_" class="product" value="qty_reqty_<?php echo $i; ?>" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.