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

时间:2016-05-16 03:56:04

标签: javascript php jquery html

我有一个带有文本框列的表格,我想获取旧值并将其设置为文本框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对话框

function 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");

     });

} 

}

2 个答案:

答案 0 :(得分:0)

你在定义html时有一些问题:

  1. 一个输入不能有2个id属性
  2. 输入
  3. 时不能有2个onchange
  4. oldvalue不是标准属性
  5. 您可以将data-oldvalue属性设置为您的输入并使用jQuery访问该属性

    throw Problems.Bad(message: "I have a bad feeling about this")
    

    jquery代码用于示例,您可以在此代码中使用您需要的任何地方

答案 1 :(得分:0)

首先,您可以在保存价值时使用$(this).data,但前提是html5。所以我刚刚将其添加为$(this).attr('data-val')。现在的问题是,即使您输入任何新内容,但value的{​​{1}}始终具有旧值,而您在将input更改为旧版后获得current value input value。记录value时出现undefined错误,因为console.log(s)未在任何地方定义。

&#13;
&#13;
s
&#13;
$('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);
});
&#13;
&#13;
&#13;