簡體   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