我如何压制jQuery" undefined"信息

时间:2017-09-13 09:34:52

标签: jquery html

我有以下代码显示警告" undefined"直到下拉列表中选择了一个选项。有没有办法阻止此消息出现?

<select id="currency" required>
    <option value="" selected disabled>Select Currency</option>
    <option value="1,$">USD</option>
    <option value="1,£">GBP</option>
</select>

<p><span id='symbol1'></span>0.00</p>

<script>

   $(document).ready(currencyFunction);
   document.getElementById("currency").addEventListener("change", currencyFunction);

   function currencyFunction() {

       select=document.getElementById('currency').value.split(',');

       display = select[1];

       document.getElementById("symbol1").innerHTML = display;
   }

</script>

4 个答案:

答案 0 :(得分:1)

您不应在document.ready事件中调用import uuid from setuptools import setup, find_packages import os from pip.req import parse_requirements def read(fname): return open(os.path.join(os.path.dirname(__file__), fname)).read() BASE_DIR = os.path.dirname(os.path.realpath(__file__)) reqs_file = os.path.join(BASE_DIR, 'requirements.txt') install_reqs = parse_requirements(reqs_file, session=uuid.uuid1()) setup( name="connectors", version="0.1", author="Pradeep Mishra", install_requires=["argparse", "requests", "pyyaml", "datetime", "cement"], packages=find_packages(), long_description=read('README.md'), data_files=[ ('', ['__main__.py', ])], classifiers=[ "Programming Language :: Python :: 2.7" ],

您收到currencyFunction错误,因为您在文档准备好并且该函数正在尝试访问下拉列表的值时调用undefined。但是当页面准备就绪时,下拉列表将选择空值。所以它给出了这个错误。

但是如果你想无论如何都要压制错误,那就这样做:

currencyFunction

答案 1 :(得分:0)

比javascript语法更容易解决方案:

&#13;
&#13;
$(document).on('change', '#currency', function() {
     $("#symbol1").html($(this).val())
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="currency" required>
    <option value="" selected disabled>Select Currency</option>
    <option value="$">USD</option>
    <option value="£">GBP</option>
</select>

<p><span id='symbol1'></span>0.00</p>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您在调用函数时加载页面时调用该函数,而不选择任何未获取值的选项,请检查下面的代码,我做了一些更改:

   function currencyFunction() {
       select=document.getElementById('currency').value.split(',');

       display = select[1];

       document.getElementById("symbol1").innerHTML = display;
   }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="currency" required onchange="currencyFunction()">
    <option value="" selected disabled>Select Currency</option>
    <option value="1,$">USD</option>
    <option value="1,£">GBP</option>
</select>

<p><span id='symbol1'></span>0.00</p>

使用select标记内的onchange事件调用该函数,只有在更改选择选项时才会调用该函数

答案 3 :(得分:0)

试试 FIDDLE

<强> HTML

<select id="currency" required>
  <option value="" selected disabled>Select Currency</option>
  <option value="1,$">USD</option>
  <option value="1,£">GBP</option>
</select>

<p><span id='symbol1'></span>0.00</p>

<强> JS

$(document).ready(function() {
   $('select').on('change', function() {
     var valueSelected = this.value.split(',');
     console.log(valueSelected[1]);
     var temp = $("#symbol1").text().replace(/[^0-9.]/g, "");
     $("#symbol1").html(valueSelected[1]+" "+temp);
   });
});