1

我正在从 MySQL 中检索一些数据并将其写入某些选择标签中,然后我检索每个选定的选项值并将其显示在 DIV 中,这是 javascript:

 function main() {
 $("select").change(function () {
 var str = "";

 $("select option:selected").each(function () {
    str += $(this).text() + " ";
  });

 $("div#one").text(str);
 })
  .trigger('change');

  }

所以,我希望每个检索到的值都写在单独的输入中:

First value: <input type="text" id="test" />
Second value: <input type="text" id="test2" />
Third value: <input type="text" id="test3" />

我怎样才能做到这一点?非常感谢!

4

2 回答 2

1

简单的选择总是有一个选定的值,所以你可以尝试这样的事情:

$(function() {
    $("select").change(function() {
        var str = "";
        $("select").each(function() {
            str += $(this).val()+"<br/>";
        });
        $("div#one").html(str);
    });
});

您可以在此处查看实际操作:http: //jsfiddle.net/vJdUt/

于 2013-07-07T09:08:19.780 回答
0

在“div”标签中添加选定的选项:

//empty div at start using .empty()
$("select").change(function () {
    //get the selected option's text and store it in map
    var map = $("select :selected").map(function () {
        var txt = $(this).text();
        //do not add the value to map[] if the chosen value begins with "Select"
        return txt.indexOf("Select") === -1 ? txt + " , " : "";
    }).get();
    //add it to div
    $("#one").html(map);
});

在“输入”标签中添加选定的选项:

//empty textboxes at start using .val("")
$("select").change(function () {
    var text = $(":selected", this).text() //this.value;
    //get the index of the select box chosen
    var index = $(this).index();
    //get the correct text box corresponding to chosen select
    var $input = $("input[type=text]").eq(index);
    //set the value for the input
    $input.val(function () {
        //do not add the value to text box if the chosen value begins with "Select"
        return text.indexOf("Select") === -1 ? text : "";
    });
});

综合演示

http://jsfiddle.net/hungerpain/kaXjX/

于 2013-07-07T08:59:23.280 回答