我发现了许多我想做的事情的例子。不幸的是,我无法工作:)
我需要一个文本框来更改为所选下拉列表的值。
我创造了一个小提琴。
我想使用的JS是
$(document).ready(function() {
$("#goal option").filter(function() {
return $(this).val() == $("#reason").val();
}).attr('selected', true);
$("#goal").live("change", function() {
$("#reason").val($(this).find("option:selected").attr("value"));
});
});
https://jsfiddle.net/phpman13/q8h5kupj/
我尝试使用FireBug并报告.live无效。
有什么想法吗?
答案 0 :(得分:2)
.live()已弃用,使用.on()而不是。它遵循相同的语法。
来自:https://api.jquery.com/live/
从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。
答案 1 :(得分:1)
我不清楚你的具体要求。我知道你想根据选定的下拉项更新文本。如果是要求。
$(document).ready(function() {
$("#reason").val($(this).find("option:selected").text());
});
$("#goal").change(function() {
$("#reason").val($(this).find("option:selected").text());
});
答案 2 :(得分:0)
try
$(document).ready(function() {
$("#goal option").filter(function() {
return $(this).val() == $("#reason").val();
}).attr('selected', true);
$("#goal").on("change", function() {
$("#reason").val($(this).find("option:selected").attr("value"));
});
});
答案 3 :(得分:0)
试试这个
$(document).ready(function() {
$("#goal option").filter(function() {
return $(this).val() == $("#reason").val();
}).attr('selected', true);
$("#goal").on("change", function() {
$("#reason").val($(this).find("option:selected").text());
});
});
答案 4 :(得分:0)
谢谢大家。改变
.live
到
.do
的工作。