1

ドロップダウンボックスから(JavaScriptを使用して)特定の変数に基づいて特定のオプション名を選択できるようにする関数を作成する助けが必要です。値が存在しない場合は、ドロップダウンリストに追加してから選択しますそれ。

例:

<html>

<head>

<script type="text/javascript">

function test() {

var option_name_to_look_for = "mangos"

if option_name_to_look_for is listed in the drop down box (drop) then select it

if the option_name_to_look_for is not listed in the drop down box (drop), automatically add it to the drop down list (drop) and select it.

}

</script>

</head>

<body>

<select id="drop" style="width: 200px;">
<option value="0"></option>
<option value="1">apples</option>
<option value="2">oranges</option>
<option value="3">pears</option>
<option value="4">mangos</option>
<option value="5">bananas</option>
<option value="6">kiwis</option>

</select>

</body>

</html>
4

2 に答える 2

1

jqueryの使用:

var found = false;
var search = 'something not in the list';
$("#drop").children().each(function() {
    if($(this).html() == search) {
        found = true;
        $(this).attr('selected', true);
        return;
    }
});
if(!found) {
    var nextValue = $("#drop").children(":last").val() + 1;
    $("#drop").append('<option value="' + nextValue + '">'+search+'</option>');
    $("#drop").children(":last").attr('selected', true);
}

http://jsfiddle.net/Zhk5w/1/

于 2012-12-14T16:16:33.433 に答える
1

jQuer化されていないバージョン!

function selectMe(name){
  var select = document.getElementById("drop"),
      options = select.options,
      found = false;

  //Search for it!
  for (var x=0; x<options.length; x++){
    if(options[x].text==name){
      options[x].selected=true;
      found = true;
      break;
    }
  }

  //if it isn't found, add it!
  if(!found){
    var option = document.createElement("option");
    option.text = name;
    option.value = options.length;
    select.appendChild(option);
    option.selected=true;
  }
}

selectMe("mangos");
于 2012-12-14T16:25:21.940 に答える