我有以下代码显示警告" 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>
答案 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语法更容易解决方案:
$(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;
答案 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);
});
});