这应该是一个简单的答案,我已经有一段时间没有做任何 js 了
我的 HTML 中有一个提交按钮和一个div :
<input type="submit" name="submit"/>
<div name="result">result here </div>
单击提交按钮时,我想更改div 中的文本,我的代码如下所示:
$('input[name=submit]').click(function(){
$('div[name=result]').val('results from database ') //set new text
});
有人指出为什么这不起作用?
检查这个
$(function(){
$('input[name=submit]').click(function(){
$('#result').text('results from database ') //set new text
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<input type="submit" name="submit"/>
<div id="result">result here </div>
首先,在div 中将名称属性更改为类。
<div class="result">result here </div>
然后,使用text
方法在非输入元素中设置值。 text
只应在值为纯文本(无 HTML 元素)时使用;
$('div.result').text('results from database');
如果数据库中的结果包含 HTML,请使用html
方法
$('div.result').html('results from database');
工作演示
设置div 的 ID 而不是名称。如下所示:
<div id="result">result here </div>
现在,您可以按 ID 更改值,如下所示:
$('#result').val('results from database ');
> eaay 方法是使用类或 ID 来显示结果
<input type="submit" name="submit"/>
<div class="result">result here </div>
<script>
jQuery(document).ready(function ($) {
$('input[name=submit]').on('click', function (){
$('.result').html('results from database');
});
});
</script>
或
<input type="submit" name="submit"/>
<div id="result">result here </div>
<script>
jQuery(document).ready(function ($) {
$('input[name=submit]').on('click', function (){
$('#result').html('results from database');
});
});
</script>
<</div>
div class="one_answers">div 元素不应该有 name
属性。应使用 id
属性:
<input type="submit" name="submit"/>
<div id="result">result here </div>
然后 javascript/jQuery,请注意div 的.html
,你也可以使用 .text()
. 你有div 元素的.val()
,.val()
只适用于输入元素,它获取或设置 value
属性。
$('input[name=submit]').click(function(){
$('#result').html('results from database ') //set new text
});
另外,我建议为按钮使用id
属性,因为您可能希望选择多个共享相同name
属性值的按钮name
不必是唯一的,但id
确实如此。因此,如果您只想要一个特定的按钮,则应使用 id
属性和选择器。
这样写你的 html:
<input type="submit" name="submit"/>
<div data-name="result">result here </div>
然后使用以下脚本更改div 的文本:
$('input[name=submit]').click(function(){
$('div[data-name="result"]').text('results from database ') //set new text
return false; // For not submitting the form so that
// you can see the changes if in case
// page is getting submitted it won't submit
});
在您的代码中,您犯了两个错误,因此它不起作用。您的div 选择器在结果周围缺少引号,val 应该即 $('div[name=result]').val(") 应该替换为 $('div[name="result"]').text(")。
val被文本替换,因为 val 用于具有默认值属性的表单元素,该属性用于在提交时将值发送到服务器。
此外,应避免对表单元素以外的普通 dom 元素使用 name 属性。代替它们,您可以定义自定义属性,如"数据名称"。
$('input[name=submit]').click(function(){
$('div[name=result]').text('results from database ') //set new text
});