我是jQuery的新手。
我正在尝试创建一个可重用的函数来替换输入字段的文本。
我将要更改的字段作为一个参数传递,将新文本作为另一个参数传递。
我想我会用一些单选按钮试试。
HTML
<label>
<input type="radio" name="optradio" onClick="replaceText(txt_recipient, 'All')" value="0" checked>All</label>
<label>
<input type="radio" name="optradio" onClick="replaceText(txt_recipient, 'Geo')" value="1">Geographical Area</label>
<label>
<input type="radio" name="optradio" onClick="replaceText(txt_recipient, '')" value="2">Specific User</label>
<input type="text"id="txt_recipient" name="txt_recipient" value="All" />
JS
function replaceText(field, newtext) {
document.getElementById(field).text(newtext);
};
我最初玩弄了
的想法 function replaceText(field, newtext) {
$(field).text(newtext);
};
但这似乎也不起作用。帮助
答案 0 :(得分:3)
field
是实际元素,因此只需设置输入value
属性。
function replaceText(field, newtext) {
field.value = newtext;
}
DEMO:http://jsfiddle.net/039v0wst/1/
使用jQuery
function replaceText(field, newtext) {
$(field).val(newtext);
}
答案 1 :(得分:0)
不再建议在HTML属性中内联声明事件处理程序。
使用更现代的语法,我将包含一个指定目标文本的数据属性,使用data属性中的字符串更新目标。
$('input[type="radio"]').change(function() {
$("#txt_recipient").val($(this).data("text"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<label>
<input type="radio" name="optradio" data-text="All" value="0" checked>All</label>
<label>
<input type="radio" name="optradio" data-text="Geo" value="1">Geographical Area</label>
<label>
<input type="radio" name="optradio" data-text="" value="2">Specific User</label>
<input type="text"id="txt_recipient" name="txt_recipient" value="All" />
答案 2 :(得分:0)
首先给出唯一的名称:
<input type="radio" name="optradio1" onClick="replaceText(txt_recipient, 'All')" value="0" checked>All</label>
地理区域
然后是js
$('input[name$="optradio1"]').val("newtext")