2014-09-25 46 views
0

如何從使用以下引導類的表單中創建的下拉列表中檢索所選值?流星:點擊提交後使用jQuery檢索選定的值

我使用流星0.9.2和mizzao:自舉3

我的HTML:

<template name="createpost"> 
<form class="form-horizontal" role="form" id="createpost"> 
     <div class="form-group form-group-lg"> 
      <label class="col-sm-2 control-label" for="field">Field</label> 
      <div class="col-sm-10"> 
       <select class="form-control"> 
        <option value="one">One</option> 
        <option value="two">Two</option> 
        <option value="three">Three</option> 
        <option value="four">Four</option> 
        <option value="five">Five</option> 
       </select> 
      </div> 
     </div> 
    <input type="submit" value="post"> 
</form></template> 

CLIENT.JS:

Template.createpost.events({ 
'submit form#createpost': function(e) { 
    e.preventDefault(); 
    var insertpost = { 
     field: //CODE TO RETRIEVE THE VALUE OF THE SELECTED ITEM // 
    } 
    Meteor.call('insertPostData', insertpost); 
} }); 

SEVER.JS:

Meteor.methods({ 
'insertPostData': function(insertpost){ 
    return insertpost._id = AllPosts.insert(insertpost); 

} }) ;

回答

2

我想通了。我必須給選擇一個id,然後在javascript中引用此id。我用「someId」這個例子這工作完美感謝您的初始幫助雖然

<template name="createpost"> 
<form class="form-horizontal" role="form" id="createpost"> 
    <div class="form-group form-group-lg"> 
     <label class="col-sm-2 control-label" for="field">Field</label> 
     <div class="col-sm-10"> 
      <select class="form-control" id="someId> 
       <option value="one">One</option> 
       <option value="two">Two</option> 
       <option value="three">Three</option> 
       <option value="four">Four</option> 
       <option value="five">Five</option> 
      </select> 
     </div> 
    </div> 
<input type="submit" value="post"> 

client.js:。

Template.createpost.events({ 
'submit form#createpost': function(e, tmpl) { 
e.preventDefault(); 
var insertpost = { 
    field: $("#someId").val(); 
} 
Meteor.call('insertPostData', insertpost); 
} }); 
2
Template.createpost.events({ 
'submit form#createpost': function(e, tmpl) { 
    e.preventDefault(); 
    var selectedOption = tmpl.find('.form-control :selected'); 

    var insertpost = { 
     field: (selectedOption && selectedOption.text) 
    } 

} 
}); 
+0

我收到一個錯誤:未捕獲的 TypeError:string不是函數 根據控制檯,它在代碼內:selectedOption && selectedOption.text(), 我有一個逗號避免,而不是因爲我也有其他領域。 我點擊提交後出現此錯誤 – meteorBuzz 2014-09-25 10:03:34

+0

我的錯誤。 'selectOption.text'是字符串不起作用。代碼改進。 [檢查此](http://meteorpad.com/pad/PYmEZ8cuZLdiSx36c) – 2014-09-25 10:23:30

+0

此代碼還可以通過獲取下拉列表的字符串值。所以這個答案是正確的。爲了我的需要,我正在處理該選項的價值。 – meteorBuzz 2014-09-25 10:33:54