231

次のようなオプションメニューがあります。

<form name="AddAndEdit">
   <select name="list" id="personlist">
      <option value="11">Person1</option>
      <option value="27">Person2</option>
      <option value="17">Person3</option>
      <option value="10">Person4</option>
      <option value="7">Person5</option>
      <option value="32">Person6</option>
      <option value="18">Person7</option>
      <option value="29">Person8</option>
      <option value="28">Person9</option>
      <option value="34">Person10</option>
      <option value="12">Person11</option>
      <option value="19">Person12</option>
   </select>
</form>

そして今、href を使用して選択したオプションを変更したいと考えています。例えば:

<a href="javascript:void(0);"
  onclick="document.getElementById('personlist').getElementsByTagName('option')[11].selected = 'selected';">change</a>

value=11 (Person1)しかし、 ではなくでオプションを選択したいPerson12

このコードを変更するにはどうすればよいですか?

4

11 に答える 11

282

変化する

document.getElementById('personlist').getElementsByTagName('option')[11].selected = 'selected'

document.getElementById('personlist').value=Person_ID;
于 2012-06-06T09:38:28.820 に答える
61

Selectbox を処理するための純粋な JavaScript コードとしてのツール:

グラフィカルな理解:

画像 - A

ここに画像の説明を入力


画像 - B

ここに画像の説明を入力


画像 - C

ここに画像の説明を入力

更新 - 2019 年 6 月 25 日 | フィドラーのデモ

JavaScript コード:

/**
 * Empty Select Box
 * @param eid Element ID
 * @param value text
 * @param text text
 * @author Neeraj.Singh
 */
function emptySelectBoxById(eid, value, text) {
    document.getElementById(eid).innerHTML = "<option value='" + value + "'>" + text + "</option>";
}


/**
 * Reset Select Box
 * @param eid Element ID
 */

function resetSelectBoxById(eid) {
    document.getElementById(eid).options[0].selected = 'selected';
}


/**
 * Set Select Box Selection By Index
 * @param eid Element ID
 * @param eindx Element Index
 */

function setSelectBoxByIndex(eid, eindx) {
    document.getElementById(eid).getElementsByTagName('option')[eindx].selected = 'selected';
    //or
    document.getElementById(eid).options[eindx].selected = 'selected';
}


/**
 * Set Select Box Selection By Value
 * @param eid Element ID
 * @param eval Element Index
 */
function setSelectBoxByValue(eid, eval) {
    document.getElementById(eid).value = eval;
}


/**
 * Set Select Box Selection By Text
 * @param eid Element ID
 * @param eval Element Index
 */
function setSelectBoxByText(eid, etxt) {
    var eid = document.getElementById(eid);
    for (var i = 0; i < eid.options.length; ++i) {
        if (eid.options[i].text === etxt)
            eid.options[i].selected = true;
    }
}


/**
 * Get Select Box Text By ID
 * @param eid Element ID
 * @return string
 */

function getSelectBoxText(eid) {
    return document.getElementById(eid).options[document.getElementById(eid).selectedIndex].text;
}


/**
 * Get Select Box Value By ID
 * @param eid Element ID
 * @return string
 */

function getSelectBoxValue(id) {
    return document.getElementById(id).options[document.getElementById(id).selectedIndex].value;
}
于 2013-12-18T15:33:08.527 に答える
34
mySelect.value = myValue;

mySelect選択ボックスはどこにあり、myValueは変更したい値です。

于 2017-02-01T00:12:01.900 に答える
32

ブログ投稿JavaScript の初心者 – 値でドロップダウン オプションを選択してくださいが役立つと思います。

<a href="javascript:void(0);" onclick="selectItemByValue(document.getElementById('personlist'),11)">change</a>

function selectItemByValue(elmnt, value){

  for(var i=0; i < elmnt.options.length; i++)
  {
    if(elmnt.options[i].value === value) {
      elmnt.selectedIndex = i;
      break;
    }
  }
}
于 2012-06-06T09:41:59.210 に答える
3

オプションをjavascriptで追加する場合

function AddNewOption(userRoutes, text, id) 
{
    var option = document.createElement("option");
    option.text = text;
    option.value = id;
    option.selected = "selected";
    userdRoutes.add(option);
}
于 2019-06-21T19:28:29.323 に答える
2

配列 Index は 0 から始まります。value=11 (Person1) が必要な場合は、 position で取得しますgetElementsByTagName('option')[10].selected

于 2012-06-06T09:38:37.273 に答える