以下是否可以做?
$("#textarea1").val = function() {
$.each(data, function(i, j) {
if ($.trim($("#text2").val()) == j.l) {
return j.v;
} else {}
});
};
我们可以有条件地设置某些输入类型或div的值吗?
答案 0 :(得分:1)
您应首先找出该值,然后更改该元素的值。
你以一种非常奇怪的方式做这件事。我不确定你在循环中做了什么。但首先要做,然后设置元素值。
快速举例:
var name = "Sam!";
if ( name != "Sam!" ) {
$("#textarea1").val("Your not Sam!");
} else {
$("#textarea1").val("Hey Sam :)");
}
答案 1 :(得分:0)
如果condition
评估为true
,则该值将设置为"yes"
。否则它会保持不变。
$("#textarea1").val(function(i, oldval) {
return condition ? "yes" : oldval;
});
答案 2 :(得分:0)
我假设您有一些有效的设计模式原因,而不是简单地在$("#textarea1").val(j.v)
函数中调用each
,而不是像现在一样在函数外部设置它。 (也许你有许多函数对象,你希望有条件地使用它们来设置大量输入?)
也就是说,您的代码只需要进行一些更改:
val
功能(它是一个setter,而不是一个可设置的属性)。return
语句正在终止传递给each
的函数,而不是外部函数。你应该让each
函数设置一个变量,然后通过返回false来中断。它应该类似于:
$("#textarea1").val(function() {
var result;
$.each(data, function(i, j) {
...
result = j.v;
return false;
});
return result;
});
val
将自动执行该函数并使用返回值。