好吧,我不知道这是否是正确的方法。如果没有,请给我一个如何做的例子。我如何在JS中获取数据并将其发送到html?
JS
$(document).ready(function() {
var choosenYear = $('#choose_year');
$("#choose_year").select2({
data: [{
id: 0,
text: '2015'
}, {
id: 1,
text: '2014'
}],
val: ["0"]
}).select2('val', 0);
// Start Change
$(choosenYear).change(function() {
var choosenYear = $(choosenYear).select2('data').id;
$('#choosen_year').val(choosenYear);
}); //Change
});
HTML
<form class="form-inline well col-md-8" id="form-choose_usr" action="#" method="post" enctype="multipart/form-data">
//This is what i POST
<div>
<input type='hidden' class='col-md-4' id='choose_usr_email' name='choose_usr_email'>
</div>
<!-- Select2 choose_year -->
<div>
<input type='hidden' class='col-md-2' id='choose_year' name='choose_year'>
</div>
<!-- Select2 choose_month -->
<div>
<input type='hidden' id='choosen_year' name='choosen_year'>
<input type="submit" class="btn btn-info pull-right" value="Hämta" />
PHP
//And this is how i fetch it
$posted_choosen_year = $_POST['choosen_year'];
echo $posted_choosen_year;
$("#choosenYear").on("select2:select", function (e) { do stuff here... });
会的。请参阅http://select2.github.io/examples.html在"事件"下了解更多信息。还有一些正在运行的示例将提供如何使用这个东西。
我纠正了你的小提琴,让它按这个运行:
$(document).ready(function() {
function log(text) {
$('#chosen_year').append(text + '<br>');
}
$('#choose_year').select2()
.on("change", function(e) {
log(this.value);
})
});
所以,我真的不知道如何解决它。所以我把代码改为具有静态HTML值,而不是将值存储在JS文件中。
HTML
<form class="form-inline well col-md-8" id="form-choose_usr" action="#" method="post" enctype="multipart/form-data">
<select class="col-md-4" id="choose_year" name="choose_year" required>
<option></option>
<option value="2015">2015</option>
<option value="2014">2014</option>
</select>
<input type="submit" class="btn btn-info pull-right" value="Hämta" />
</form>
JS
$(document).ready(function(){
$('#choose_year').select2({
placeholder: 'Välj år..',
minimumResultsForSearch: -1
});
});
PHP
$posted_chosen_year = $_POST['choose_year'];
echo $posted_chosen_year;
好吧,使用我刚刚创建的这个小提琴来测试:http://jsfiddle.net/yL6g087x/1/
如果显示对象
$("#choosenYear").select2("data")
不存在。。。所以我想我应该查阅一下手册。。rtm。。他们的例子失败了。。在两个层面上。。。。他们的小提琴:http://jsfiddle.net/platypusman/xDUUg/
首先为js和css文件返回404。。。所以我链接了他们现在的。。但这个例子仍然没有奏效。。看起来select2插件在其当前版本上已损坏。。
我可能错了,但这是我从他们提供的例子中发现的