2014-09-25 47 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