如何设置输入文本框jquery的值

how to set value to input textbox jquery

本文关键字:文本 jquery 的值 输入 何设置 设置      更新时间:2023-09-26

我有一个带有文本框列的表,我想获取旧值并将其设置为文本框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:时遇到了一些问题

  1. 一个输入不能有2个id属性
  2. 输入时不能有2个onchange
  3. 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代码用于示例,您可以在需要的任何地方使用该代码

首先,您可以在保存值时使用$(this).data,前提是您有html5。所以我刚刚把它添加为$(this).attr('data-val')。现在的问题是,即使您输入了任何新的内容,input的旧值始终为value,并且在将input value更改为旧的value之后,您得到了current 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; ?>" />