2017-02-13 8 views
0

値を返す:選択要素は次のように私は、選択ボックスを持っている場合にのみ、無効

<select id="selectbox" class='info-entry-select' name="country"> 
    <option value="1" selected="selected">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

この選択ボックスが表示されるとき、アヤックスと別のPHPファイルを使用して選択ボックスのオプションをリフレッシュし、隠されたdiv要素であります。

$("#changeselectoptions").on('click', function() { 
    $.ajax({ 
     type: "GET", 
     url: "includes/selectoptions.php", 
     dataType: 'json', 
     success: function(result){ 
      // Replace options of select box 
      var $el = $("#selectbox"); 
      var newOptions = result['catsOrderList']; 
      // newOptions correctly returns an array in the form of {1: "One", 2: "Two", 3: "Three", 4: "Four"} 
      $el.empty(); // remove existing options 
      $.each(newOptions, function(key,value) { 
       $el.append($("<option></option>").attr("value", key).text(value)); 
      }); 
     } 
    }); 
    return false; 
}); 

私が今呼び出す場合:ここで選択ボックスを更新するJavaScriptです$('#selectbox').val();私は未定義取得し、私はなぜわかりませんか?私は.attr('disabled', 'disabled'); #selectboxに、私は1、2、3の期待のvalを取得$('#selectbox').val();を試してみてください追加トグルスイッチを使用して(#selectboxを無効にした場合にどのようになど、問題はさらに混乱

をすることができますようにするには私が編集ボックスを無効にせずに、この値を取得、または私が見落としていることは


:?私の$('#selectbox').val();コールがどこにある

を私が尋ねてきたことです。私は前述したが、次のように徹底すること、それはselect要素と同じdiv要素でsubmitボタンから呼ばれていますよりも、これ以上関与していない:

$("#submitbutton").on('click', function() { 
    var selectBoxVal = $('#selectbox').val(); 
    console.log('value is: ' + selectBoxVal); 
    return false; 
}); 

私の唯一のアイデアこれまでのところ、それはDOMであり得ることです問題?私は知識が完全なインとアウトを全く知らないので無知に言うが、要素がjavascriptによって変更され、後のjavascript呼び出しでは正しく検索されない問題を見てきた。読み込まれたページ。

いずれのオプションにも選択されたプロパティを割り当てませんが、は未定義のが返されるとは思われません。たとえば、選択ボックスを無効にすると、値は同じクエリー(上述のとおり)から正しく戻されますが、選択されたプロパティーは手動で追加されません。私は逃げ出しますが、javascriptで一連のオプションを作成するときに選択したプロパティを追加する必要がありますか?どのオプションが最初に選択されたものとして提示されているのかは、使用の観点からは私にとっては無関係ですが、私は最良の手順に従うことを嬉しく思っています。私は、そのようにマークされていないブラウザは、表示されたオプションを選択したものとして解釈したと仮定しました。

+0

'success'コールバックでselectの値をどこに設定するのか、' option's '' selected'プロパティのいずれかを設定しているところは表示されません... –

+0

'1、2 、3' ?? –

+1

$( '#selectbox')はどこですか。コール?おそらくあなたはオプションを追加する前にそれを呼び出すでしょう。 –

答えて

0

私は、選択の「値」は、その選択ボックス内で属性が「選択済み」の<option>と考えています。それ以外の場合は、その入力に示された値はありません。

+0

どのようにその質問に答えますか/問題を解決しますか? –

+1

質問の一部は「私は何を見落としたのですか?私はこれが、OPが見落としている可能性のある選択要素の側面だと考えています。 – dmitrydwhite

+0

デフォルトでは選択されていない最初のオプションが選択されますので、 '$("#selectbox ")。val()'は '1'を返し、' undefined'を返しません。 –

関連する問題