Javascript在追加时不显示输入字段

Javascript在追加时不显示输入字段,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有简单的输入字段,如: <div class="col-md-3"> {{ Form::label('stock', 'Stock') }} <input type="text" value="" class="stock form-control" name="stock" disabled> </div> 我的问题是,appendon success不会替换为我的static 输入 当我在select上使用时,也会出现同样的代码,它可以工作,但

我有简单的输入字段,如:

<div class="col-md-3">
  {{ Form::label('stock', 'Stock') }}
  <input type="text" value="" class="stock form-control" name="stock" disabled>
</div>
我的问题是,
append
on success不会替换为我的static 输入


当我在select上使用时,也会出现同样的代码,它可以工作,但不知何故它对输入不起作用。

如果要将输入附加到输入,请尝试将stock类添加到div中,并在其中附加子输入,如:

<div class="col-md-3 stock">
  {{ Form::label('stock', 'Stock') }}
  <input type="text" value="" class="form-control" name="stock" disabled>
</div>


 $(document).ready(function() {
    $("select[name='product_id']").on("change", function() {
      var productID = $(this).val();
      if(productID) {
      $.ajax({
        url: "{{ url("admin/getProductInfo") }}/"+encodeURI(productID),
        type: "GET",
        dataType: "json",
        success:function(data) {
        $(".stock").empty();
        $.each(data, function(key, value) {
            $(".stock").append("<input type='text' class='form-control' value='"+value['stock']+"' name='stock' disabled>");
            });
        }
      }); //ajax
      }else{
        $(".stock").empty().append("<input type='text' value='' class='form-control' name='stock' disabled>");
      }
    });
  });

如果要将输入附加到输入,请尝试将stock类添加到div,并在其中附加子输入,如下所示:

<div class="col-md-3 stock">
  {{ Form::label('stock', 'Stock') }}
  <input type="text" value="" class="form-control" name="stock" disabled>
</div>


 $(document).ready(function() {
    $("select[name='product_id']").on("change", function() {
      var productID = $(this).val();
      if(productID) {
      $.ajax({
        url: "{{ url("admin/getProductInfo") }}/"+encodeURI(productID),
        type: "GET",
        dataType: "json",
        success:function(data) {
        $(".stock").empty();
        $.each(data, function(key, value) {
            $(".stock").append("<input type='text' class='form-control' value='"+value['stock']+"' name='stock' disabled>");
            });
        }
      }); //ajax
      }else{
        $(".stock").empty().append("<input type='text' value='' class='form-control' name='stock' disabled>");
      }
    });
  });


检查开发人员控制台是否有错误您正在尝试将
输入添加到
输入
?@GuruprasadRao我不认识人!我想替换它:)你想
替换
输入
或它的
?@GuruprasadRao对我都有效。检查开发人员控制台是否有错误你试图
输入
附加到
输入
?@GuruprasadRao我不认识这个人!我想替换它:)你想
替换
输入
或其
?@GuruprasadRao对我都有效。编辑并从附加的输入标记中删除股票类别。这是为什么@guruprasadraoy您只需要使用
$(element).val(value['stock'])
更改输入的值,要清除,您只需编写
$(element).val(“”)
。但是
append
用于
append
指定源中的元素。您使用的方法是一种糟糕的编码方式。如果数据中有多个值,该怎么办?如果你知道的话,请提供更好的方法。编辑并从附加的输入标签中删除股票类别。为什么@guruprasadraoy您只需要使用
$(element).val(value['stock'])
更改输入的值,要清除,您只需编写
$(element).val(“”)
。但是
append
用于
append
指定源中的元素。您使用的方法是一种糟糕的编码方式。如果数据中有多个值,该怎么办?那么,更改相同的输入将不会有帮助。您已经看到了我的所有代码,甚至我的响应代码。如果您知道,请提供更好的方法。
$('.stock').val(''); //Just to follow what OP has earlier and no need of else statement again
if(productID){
    //ajax stuff
    success:function(data) {
          //Clear the input's value

          if(data.length > 0){
             $(".stock input[type='text']").val(data[0].stock);
             //data[0].stock will be good if its parsed json
          }
    }
}