通过AJAX自动更新select中的文本
Automatically update text from select via AJAX
有人知道如何让ajax从选择输入更新文本吗。我的意思是,如果您选择(form->input)某个内容,它将更新/出现在<span>
或其他内容中。
这就是我所拥有的:
<?php
echo '<select name="test">';
for ($i=0; $i <= 20; $i++) {
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo "</select>";
?>
并且在<script>
:中
<script>
function upperCase()
{
var A = document.getElementById('test').value;
var B = document.getElementById('txtHint1').value;
C = A * B
document.getElementById('result').value = C;
}
</script>
我想展示的地方:
<span id="txtHint1" onchange="upperCase()"></span>
我希望你能理解我。
我在您最初的问题中看到了几个错误。第一个在这里:
echo "<select name="test">;
由于它是一个双引号字符串,您需要在测试中转义双引号,或者用单引号将字符串括起来。您还缺少一句结束语。应该是这样的:
echo '<select name="test">';
此外,与其将onchange事件绑定到要显示结果的位置,不如将其绑定到更改时希望执行JavaScript的元素。在这种情况下,这将是您的选择。现在我们要做的是:
echo '<select name="test" onchange="upperCase()">';
这行:C = A * B
应该看起来更像:
var C = A * B;
此外,您的代码正在尝试设置ID为result
的元素的值。根据你的帖子,你可能想把它改成txtHint1
。
我假设这是您的场景:
- 用户从下拉框中选择一个选项
- 一旦他们选择了自己的选项,该选项的值乘以您的"txtHint1"跨度将显示在"结果"跨度中
首先,你不需要ajax,只需要JavaScript,我相信你的意思。接下来,您不希望在"txtHint1"跨度上进行onchange,因为那里没有什么可更改的。您希望onchange位于"select"元素上。你的代码非常接近。
function upperCase()
{
var a = document.getElementById('test').value;
var b = document.getElementById('txtHint1').value;
var c = a * b;
document.getElementById('result').value = c;
}
<select name="text" onchange="upperCase()">YOUR PHP CODE<select>
我没有测试这个,但它应该有效。
相关文章:
- 单击select'时将数组行回显到文本区域中;s选项
- 如何对jQuery屏蔽文本输入执行.select()
- 带文本区域的jQuery SELECT
- 使用VueJs获取Select选项文本
- 添加一个具有select大小的输入文本
- range.select 在 IE10 上无法正确突出显示文本
- 如何通过 #ID 100% AngularJS获取元素SELECT中的文本和值
- 如何将 select 中的文本与 js 中的数组匹配
- hot以获取所选文本,并在select中选择索引
- jquery检查字符串是否已从文本区域删除,并从select中删除选项
- angular ui select中的ng disabled选项会缩小文本框
- 如何创建接受select选项中的值的输入(类型=文本)
- 使用javascript更新select onchange事件的文本框
- 使用jquery更改“select”中“option”的文本
- Dojo-Digit Select获取选定的文本怪癖
- 如何获取select jquery对象的选定选项的文本值
- 通过单击SELECT选项,将文本INPUT元素的VALUE动态设置为默认值
- 将文本INPUT字段或SELECT OPTION设为必需字段(HTML5)
- 根据指定的数据属性创建一个包含值和文本的select下拉选项
- 未捕获的类型错误:文本.Select不是一个函数