使用JS从选择和文本输入中捕获值,并将输出返回到HTML
Capture values from select and text inputs using JS and return output to HTML
我有一个有点像计算器的表单。在文本框中输入一个数字,用户使用下拉菜单选择一个用作乘数的数字。我可以正确地从文本框中捕获值,但是从选择输入中捕获值是很棘手的。
我希望当用户更改文本框中的数字或更改他们在选择字段中选择的选项时运行此功能。
小提琴
# HTML
<form>
<input type="text" id="numberInput"></input>
<select id="lengthInput">
<option value="1">1</option>
<option value="2">2</option>
</select>
</form>
<div id="result"></div>
# JS
$(function () {
var amount = $('#numberInput').val();
var length_value = ''
$('#lengthInput').on("change", function () {
var length = document.getElementById("lengthInput");
var length_value = length.options[length.selectedIndex].value;
}).change();
var calculatedAmount = amount * length_value;
document.getElementById('result').innerHTML = amount
});
您可以减少所需的:
$(function () {
$(':input').on('change keyup',function () {
$('#result').html($('#numberInput').val() * $('#lengthInput').val());
})
});
jsFiddle示例
要将事件添加到input
和select
:将$('#lengthInput').on("change", function () {
更改为
$('#lengthInput, #numberInput').on("change input", function () {
然后将您的amount
代码放入回调中。以下完整代码:
$(function () {
$('#lengthInput, #numberInput').on("change input", function () {
var amount = $('#numberInput').val();
var length = $("#lengthInput").val();// <-simplified
var calculatedAmount = amount * length;
document.getElementById('result').innerHTML = calculatedAmount
}).change();
});
相关文章:
- 使用Jade输出HTML(在ng个重复内)
- 输出 html 表单数据
- 如何通过 AngularJS 模板输出 html
- Ajax 输出 html 注释
- 显示查询输出 HTML 中的图像
- HTML 代码不适用于 jquery 调用,而是输出 HTML 代码
- Html.ActionLink onclick JavaScript 函数未被调用,并且函数名称在输出 HTML 中已损
- Javascript -使用字符串输出HTML
- 如何正确使用jQuery从php输出html字符串
- 为什么.html()不输出html标签
- 如何获得一个变量's输出html值
- Twitter-text.js输出html作为纯文本
- 多行文本文件输出html
- 如何使用XSLT匹配元素和输出HTML
- 输出HTML代码
- 输出HTML时出现意外的令牌错误
- 用JavaScript输出HTML实体
- 在rjerb模板中输出HTML
- 从angularjs过滤器输出HTML,无需ng绑定HTML
- 获取实际输出HTML的函数