Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据从javascript发送到html并使用php获取_Javascript_Php_Html_Jquery Select2 - Fatal编程技术网

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

将数据从javascript发送到html并使用php获取,javascript,php,html,jquery-select2,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'

好吧,我不知道这样做是否合适。如果没有,请给我一个如何做的例子。如何获取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
});
$(document).ready(function(){
  $('#choose_year').select2({
    placeholder: 'Välj år..',
    minimumResultsForSearch: -1
  });
});
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" />
<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>

好的,使用我刚刚创建的小提琴来测试:

如果显示该对象

$("#choosenYear").select2("data")
不存在。。。所以我想我应该参考一下手册。。rtm。。他们的例子失败了。。在两个层面上。。。。他们的小提琴:

首先为js和css文件返回404。。。所以我把他们现在的联系起来了。。这个例子仍然不起作用。。select2插件的当前版本似乎已损坏


我可能错了,但我从他们提供的示例中发现jquery更改函数不是propper事件:

$("#choosenYear").on("select2:select", function (e) { do stuff here... });
行。有关更多信息,请参见“事件”下的。还有一些正在运行的示例将提供如何使用这个东西

我纠正了你的小提琴,并让它通过以下方式运行:

$(document).ready(function() {
    function log(text) {
        $('#chosen_year').append(text + '<br>');
    }

$('#choose_year').select2()
    .on("change", function(e) {
        log(this.value);
    }) 
});
$(文档).ready(函数(){
功能日志(文本){
$(“#选择的#年”)。追加(text+”
”; } $('选择年')。选择2() .关于(“变更”,职能(e){ log(这个值); }) });
所以,我并没有真正找到解决方法。因此,我将代码更改为具有静态HTML值,而不是将这些值存储在JS文件中

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" />
<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>
PHP

//And this is how i fetch it
$posted_choosen_year = $_POST['choosen_year'];
echo $posted_choosen_year;
$posted_chosen_year = $_POST['choose_year'];
echo $posted_chosen_year;

在php中,现在可以输出变量,如
echo“selected year:”$每年公布如果js语法正确,并且您的输入被指向php的表单标记包围。这我知道,但是js是不正确的!?这取决于你在JS中到底在做什么。看起来你有一个选择框,下拉列表还是什么?或者所选年份的数据来自何处?@Eddi我使用Select2下拉菜单。显示的选项是:2015和2014,它列在JS中。@Daniel我的变量为空,没有什么是echo'ed非常奇怪。。当我使用ajax调用来获取数据时,它工作正常!如果您能给我一个工作示例,您可以读取所选项目的值。。与id相同,而不是文本值。然后我会快速查看,应该能够合并em。如果您键入url并使用php获取数据,则此代码可以工作。您上面粘贴的fiddle使用ajax和json作为数据类型,它不使用标准数据属性。是的,我知道。当从mysql获取数据时,我使用了一个后端PHP脚本。但在JS中存储数据时,它应该是类似的。我试过这样做:它在我的服务器上工作,但在fiddle中它说“未定义”?!谢谢,但我真的不知道如何使用“事件”来填充php变量。事件与“Div”一起工作,但不与“Span”或“Input”一起工作
e.val
,你从哪里得到的?