将数据从javascript发送到html并使用php获取

时间:2015-02-20 11:49:39

标签: javascript php html jquery-select2

好吧,我不知道这是否是这样做的正确方法。如果没有,请举例说明如何做到这一点。我如何获取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;

3 个答案:

答案 0 :(得分:0)

好的,使用这个小提琴我刚刚创建来测试:http://jsfiddle.net/yL6g087x/1/

如果显示该对象

$("#choosenYear").select2("data")

不存在......所以我想我会咨询手册.. rtm ..他们的例子失败了..在两个层面......他们的小提琴:http://jsfiddle.net/platypusman/xDUUg/

首先返回404的js和css文件...所以我链接了他们当前的..并且示例仍然无法工作..看起来像select2插件在其当前版本中被打破..

我可能错了,但我从他们提供的例子中找到了

答案 1 :(得分:0)

jquery change函数不是propper事件:

$("#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);
    }) 
});

答案 2 :(得分:0)

所以,我并没有真正找到解决方法。所以我将代码更改为具有静态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;