0

getElementById()を使用してIE 7でこれを機能させていますが、IE8およびIE9では機能しません。私がしていることは、選択ボックスで検証を行って、それらが必要であることを確認し、他のことを行うために選択したものを確認する必要があることです。また、入力ボックスをチェックして値が何であるかを確認する必要があり、それも必要です。

function saveTest(){
var startNumber=0;
var endNumber=3;

// Works
alert(document.myForm.mySelect_1.value);

for (i = startNumber; i <= endNumber; i++) {
  // I know this is not right but I am trying everything
      alert(document.myForm.mySelect_+i.value);

      // Using JQuery to try to solve the issue and this does not work for me.
      alert($('#mySelect_'+i).val());

  } 
}

これらは動的に作成されたものではないことは知っていますが、これはこの問題の答えを見つけるのに役立つだけです。私はより多くの選択を作成しています

    <input name="myText_1" id="myText_1" value="">
    <br />
    <select name="mySelect_1" id="mySelect_1">
        <option value="0">- - - Select One - - -</option>
        <option value="1">item 1</option>
        <option value="2">item 2</option>
        <option value="3">item 3</option>
        <option value="4">item 4</option>
        <option value="5">item 5</option>
    </select>
    <br />

    <input name="myText_2" id="myText_2" value="">
    <br />
    <select name="mySelect_2" id="mySelect_2">
        <option value="0">- - - Select One - - -</option>
        <option value="1">item 1</option>
        <option value="2">item 2</option>
        <option value="3">item 3</option>
        <option value="4">item 4</option>
        <option value="5">item 5</option>
    </select>
    <br />

    <input name="myText_3" id="myText_3" value="">
    <br />
    <select name="mySelect_3" id="mySelect_3">
        <option value="0">- - - Select One - - -</option>
        <option value="1">item 1</option>
        <option value="2">item 2</option>
        <option value="3">item 3</option>
        <option value="4">item 4</option>
        <option value="5">item 5</option>
    </select>
    <br />

<a href="javascript:saveTest();">Save</a>

はっきりしない場合はお知らせください。わからないことは何でも説明できるように頑張ります。

御時間ありがとうございます。

4

2 に答える 2

3

次の行は正しくありません。mySelect_整数に呼び出された変数名を連結しようとしています:

alert(document.myForm.mySelect_+i.value);

代わりに、連想配列構文を使用する必要があります。

alert(document.myForm['mySelect_'+i].value);

また、この同じループ内では、 という要素がないため、1ではなくから開始する必要があります。0mySelect_0

これが動作するDEMOです。

于 2012-09-14T15:08:09.203 に答える
2

名前付きのドロップダウンを作成しました

使ってみて

$('select[name=mySelect_'+i+']').val();

そうしないと

$("#id option:selected").text()
于 2012-09-14T15:15:21.847 に答える