如果文本框值匹配,则使该特定标签文本为“是”,否则为“否”
If text box value matches then make that specific label text to yes else no
我试着检查标签的文本是否与文本框匹配如果匹配,然后使特定的标签文本为yes否则否,但在我的代码中我不确定是什么错了,但这并没有发生,它显示"no"它自我
演示HTML<input class="master" value="1">
<label class="user_label" >1</label>
<label class="user_label" >0</label>
<label class="user_label" >1</label>
JS:
$(function() {
var master = $('input.master').get(0).value; // get the master value
var fn = function() {
return this.text === master ? "yes" : "noo";//if current text-box matches master,then yes else no
};
$('label.user_label').text(fn); // loop and replace text for each user input
});
this.text
将在fn
中成为undefined
,因为this
是一个DOM节点,它不具有text
属性。
你可以把它包装成一个jQuery对象,并使用text()
方法:
var fn = function() {
return $(this).text() === master ? "yes" : "noo";
}
http://jsfiddle.net/L6d39f10/5/您可以将代码简化如下, text()
回调函数中的第二个参数引用旧的文本值。您可以使用 val()
在jQuery中获取值。
var val = $('input.master').val();
$('.user_label').text(function(i, text){
return val === text ? 'yes' : 'no';
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input class="master" value="1">
<label class="user_label">1</label>
<label class="user_label">0</label>
<label class="user_label">1</label>
当fn传入$('label.user_label').text(fn)时,上下文发生了变化,但仍然是这样。文本未定义。使用this.textContent、this.innerHTML(美元)。text ()
使用文本比较,然后修改它,使逻辑奇怪,它应该是这样的吗?
$(function() {
$('input.master').keyup(function() {
var master = $(this).val(); // get the master value
var fn = function() {
return $(this).attr('data-val') === master ? "yes" : "noo"; //if current text-box matches master,then yes else no
};
$('label.user_label').text(fn); // loop and replace text for each user input
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<input class="master" value="">
<label class="user_label" data-val="1"></label>
<label class="user_label" data-val="0"></label>
<label class="user_label" data-val="1"></label>
$(function() {
var master = $('input.master').get(0).value; // get the master value
$('label.user_label').each(function(){
if($(this).text() === master){
$(this).text("yes");
}else{
$(this).text("no");
}
});
});
相关文章:
- 仅当变量有值时才显示D3文本标签
- 如何在 JavaScript 中更改文本标签的堆栈顺序
- 如何在javascript中使用svg文本标签
- 如何在D3中获得可缩放Icicle布局中文本标签的旋转
- 在d3.js中添加文本标签以强制定向图链接
- 章节文本标签没有't显示在D3.JS向下钻取饼图中
- 在每个条形图的中间添加文本标签&鼠标悬停事件
- x 轴文本标签未与 D3.js 中的条形对齐
- 在 D3.js折线图中使用 IMG 而不是文本标签
- 如何将attr(id)添加到特定值的<文本>标签-Js/Jquery
- 如何在 d3 中动态更新文本标签
- D3 强制布局与文本标签和图标
- 当节点太小时,如何在 d3 中隐藏文本标签
- 提交时传递的文本框中的文本标签
- 如何为一行文本输入字段添加用户可编辑的文本标签
- d3基于值的文本标签格式
- 如何转换<文本>(文本标签)在jquery中锚定标签
- 启动d3强制布局折叠,文本标签重复
- 如何检查PDF Form/Javascript中按钮的文本/标签
- 替换输入标记之前或之后的文本标签