用于select / Textbox操作的JavaScript

时间:2015-04-08 13:59:26

标签: javascript html forms

我发现了许多我想做的事情的例子。不幸的是,我无法工作:)

我需要一个文本框来更改为所选下拉列表的值。

我创造了一个小提琴。

我想使用的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无效。

有什么想法吗?

5 个答案:

答案 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

的工作。