jQuery ReferenceError:函数未定义

时间:2016-02-24 03:48:00

标签: php jquery codeigniter dropdown

我有一个简单的jquery函数,它反映了文本框下拉列表的选定值,但问题是控制台说我的函数未定义。我把函数放在下拉列表的onchange事件中。请注意,我的所有jquery函数都在页面底部..

以下是下拉列表:

<div class="form-group">
      <label class="control-label">Operation</label>
        <select class="form-control" id="operationName" name="operationName">
       <option value="">-SELECT-</option>
        <?php
         foreach($operation as $val)
         {
          ?>
          <option value="<?php echo $val['OperationName'];?>"><?php echo $val['OperationName'];?></option>
          <?php
         }
      ?>
      </select>
          <span class="text-danger"><?php echo form_error('operation');?></span>
          <input type="text" class="form-control" id="deldays" name="deldays" 
          value="" />

这是操作数组模型

function getDeliveryDays($ str)     {         $这 - &GT; DB-&GT;选择( 'DeliveryDays');         $这 - &GT; DB-肽从( '操作');         $这 - &GT; DB-化合物其中( 'OperationName',$ STR);         返回$ this-&gt; db-&gt; get() - &gt; result();     }

这是控制器:

public function getDays()
{
    $id = $this->input->post('q');
    $data['days'] = $this->wip_model->getDeliveryDays($id);

    echo json_encode($data);
}

我在我的其他项目中工作并在我当前的项目中使用它但仍然是相同的结果,当我在开发工具中检查它时,视图源中缺少所述脚本但它存在于IDE中:

这是代码:

function showDeliveryDay(operation)
    {
        $.ajax({
            type: "POST",
            url: "<?php echo site_url('wip/getDays/');?>",
            data: {q:operation},
            success: function(data){
                console.log(data);
            },
        });
    }

enter image description here

提前致谢....

3 个答案:

答案 0 :(得分:1)

你把这个功能放在domready里面吗?如果是这样,请将其移除并将其放在外面,如下所示:

<script>
  function showDays() {
     var x = document.getElementById("operationName").value;
     document.getElementById("deldays").innerHTML = x;
  }

 // domready here
 $(function(){...}); // or $(document).ready(function(){...});     
</script>

答案 1 :(得分:1)

确保在代码中包含jquery。试试这个:

&#13;
&#13;
jQuery( document ).ready(function() {    
	jQuery( "#operationName" ).change(function() {
     var pVal = jQuery("#operationName").val();
     jQuery("#deldays").val(pVal);     
     });  

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
<label class="control-label">Operation</label>
<select class="form-control" id="operationName" name="operationName">
<option value="">-SELECT-</option>


<option value="one">1</option>
<option value="two">2</option>
<option value="three">3</option>

</select>
<span class="text-danger"></span>
<input type="text" class="form-control" id="deldays" name="deldays" 
value="" />

</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以参考此代码

<强> HTML     

<div class="form-group">
      <label class="control-label">Operation</label>
        <select class="form-control" id="operationName" name="operationName">
       <option value="">-SELECT-</option>


          <option value="one">1</option>
               <option value="two">2</option>
                    <option value="three">3</option>

      </select>
          <span class="text-danger"></span>
          <input type="text" class="form-control" id="deldays" name="deldays" 
          value="" />

Js代码

jQuery( document ).ready(function() {    
     jQuery('#operationName').on('change', function(){    
     var p=jQuery(this).val();
     jQuery("#deldays").val(p);     
     });   

});

您可以查看demo here