0

選択ボックスに 2 つの値があり、送信ボタンのクリック時に選択した値に応じて ID を取得したいと考えています。この選択ボックスと保存ボタンをダイアログ ボックスに表示しています。値を選択して保存しようとすると、ID の代わりに [object HTMLCollection] が表示されます。したがって、Fahrzeuge を選択すると ID 1 が取得され、News i を選択すると ID が取得されます。 ID 2 を取得する必要があります。javascript のどこかで小さな間違いを犯しています。ここに私の jsfiddle: demoがあります。これが私のコードです:htmlコード

<input type="button" id="butt-rahmen" value="Add Widget" />

<br /><br/>       

<div id="output"></div>

<div id="overlay" class="web_dialog_overlay"></div>

<div id="dialog" class="web_dialog">
   <table style="width: 100%; border: 0px;" cellpadding="3" cellspacing="0">
      <tr>
         <td class="web_dialog_title">Widget</td>
      </tr>

      <tr>
         <td colspan="2" style="padding-left: 15px;">
            <b>Add Widget</b>
         </td>
      </tr>
      <tr>
         <td colspan="2" style="padding-left: 15px;">
             <div id="widgets">
               <select name="widgets" id="widgets" >
                         <option value="1">Fahrzeuge</option> 
                         <option value="2">News</option>
                </select>
             </div>

         </td>
      </tr>
      <tr>
         <td colspan="2" style="text-align: center;">
            <input id="btnSubmit" type="button" value="Save" />
         </td>
      </tr>
   </table>
</div>

JS コード:

   $("#butt-rahmen").click(function (e)
      {
         ShowDialog(false);
         e.preventDefault();
      });     

      $("#btnSubmit").click(function (e)
      {
         var brand = $('#widgets select[name="widgets"]').val();
         $("#output").html("<b>Widget: </b>" + widgets);
         HideDialog();
         e.preventDefault();
      });



   function ShowDialog(modal)
   {
      $("#overlay").show();
      $("#dialog").fadeIn(300);     
   }

   function HideDialog()
   {
      $("#overlay").hide();
      $("#dialog").fadeOut(300);
   }  
4

2 に答える 2

2

はい、JavaScript の小さな間違いです。以下の行を変更してください

$("#output").html("<b>Widget: </b>" + widgets);

$("#output").html("<b>Widget: </b>" + brand);
于 2014-06-30T07:00:22.273 に答える
1

変更してみてください:

$("#output").html("<b>Widget: </b>" + widgets);

$("#output").html("<b>Widget: </b>" + brand);

forwidgetsはどこにも定義されていません。

于 2014-06-30T07:03:12.843 に答える