假设我已经定义了一个名为my_form
的输入的表单(myInput
)。我想将myInput
的值设置为my_string
。
$('#my_form textarea[name=myInput]').value = my_string;
我已尝试过以上这一行,这适用于大多数浏览器,但不适用于Opera / Safari。我知道它对Opera / Safari不起作用,因为行
console.log($('#my_form textarea[name=myInput]').value + " was the string");
将undefined was the string
记录到屏幕而不是my_string的实际值(未定义)。
如何为这些浏览器实现此目的?
答案 0 :(得分:3)
通过这个例子希望它对您有用:)
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("Dolly Duck");
});
});
</script>
</head>
<body>
<p id="test1">This is a paragraph.</p>
<p id="test2">This is another paragraph.</p>
<p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p>
<button id="btn1">Set Text</button>
<button id="btn2">Set HTML</button>
<button id="btn3">Set Value</button>
</body>
</html>
&#13;
答案 1 :(得分:2)
您必须使用 .val()而不是.value
。并引用字符串。
所以最终的代码是:
$("#my_form textarea[name=myInput]").val("my_string_with_quotes_before_and_after");
或变量
var string="some text";
$("#my_form textarea[name=myInput]").val(string);