繁体   English   中英

如何设置值来输入文本框jQuery

[英]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时遇到了一些问题:

  1. 一个输入不能具有2个id属性
  2. 输入不能有2个onchange
  3. oldvalue不是标准属性

您可以将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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM