Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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变量_Javascript_Ajax_Forms_Variables - Fatal编程技术网

选择一个下拉列表选项,并将其设置为javascript变量

选择一个下拉列表选项,并将其设置为javascript变量,javascript,ajax,forms,variables,Javascript,Ajax,Forms,Variables,一旦选择了一个下拉列表选项,我希望将该选项作为javascript变量保存 为了使这更复杂一些,变量应该保存在页面的主Ajax编码中,这样在加载不同的Ajax内容时就不会丢失 以下是我奇妙的基本表单代码: <form name="searchLocations" method="POST"> <select name="locationName"> <?php $sql = mysql_query("

一旦选择了一个下拉列表选项,我希望将该选项作为javascript变量保存

为了使这更复杂一些,变量应该保存在页面的主Ajax编码中,这样在加载不同的Ajax内容时就不会丢失

以下是我奇妙的基本表单代码:

<form name="searchLocations" method="POST">
        <select name="locationName">
            <?php 
            $sql = mysql_query("SELECT locationName FROM tbl_locations ORDER BY locationName ASC");
            while ($row = mysql_fetch_array($sql)){
            echo "<option value=\"owner1\">" . $row['locationName'] . "</option>";
            }
            ?>
        </select>
        <button onclick="loadXMLDoc(indexSearchingSubmit);" id="searchingSubmit">Search</button>
    </form>

搜寻
这是我的主要ajax代码,其中应保存表单下拉变量,以便以后使用:

<script>
window.onload = function () {
    var everyone = document.getElementById('everyone'),
        searching = document.getElementById('searching'),
        searchingSubmit = document.getElementById('searchingSubmit');

    everyone.onclick = function() {
        loadXMLDoc('indexEveryone');
        everyone.className = 'filterOptionActive';
        searching.className = 'filterOption';
    }

    searching.onclick = function() {
        loadXMLDoc('indexSearching');        
        searching.className = 'filterOptionActive';
        everyone.className = 'filterOption';
    }

     searchingSubmit.onclick = function() {
        loadXMLDoc('indexSearchingSubmit');  
    }

    function loadXMLDoc(pageName)
    {
        var xmlhttp;
        if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
          }
        else
          {// code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    xmlhttp.onreadystatechange=function()
          {
          if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
            document.getElementById("leftCont").innerHTML=xmlhttp.responseText;
            }
          }

        function get_query(){
          var url = location.href;
          var qs = url.substring(url.indexOf('?') + 1).split('&');
          for(var i = 0, result = {}; i < qs.length; i++){
            qs[i] = qs[i].split('=');
            result[qs[i][0]] = decodeURIComponent(qs[i][1]);
          }
          return result;
        }

        xmlhttp.open("GET","../browse/" + pageName + ".php?user=" + get_query()['user'],true);
        xmlhttp.send();
        }
}
</script>
<!-- ends ajax script -->

window.onload=函数(){
var everyone=document.getElementById('everyone'),
search=document.getElementById('search'),
searchingSubmit=document.getElementById('searchingSubmit');
everyone.onclick=function(){
loadXMLDoc('indexEveryone');
everyone.className='filterOptionActive';
search.className='filterOption';
}
search.onclick=function(){
loadXMLDoc(“索引搜索”);
search.className='filterOptionActive';
everyone.className='filterOption';
}
searchingSubmit.onclick=函数(){
loadXMLDoc(“indexSearchingSubmit”);
}
函数loadXMLDoc(pageName)
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“leftCont”).innerHTML=xmlhttp.responseText;
}
}
函数get_query(){
var url=location.href;
var qs=url.substring(url.indexOf('?')+1).split('&');
对于(var i=0,result={};i
使用jQuery:
$('[name=“locationName”]')。更改(函数(){
您的_VAR=$(this.attr('value');
});
不使用jQuery-
将onChange()添加到SELECT元素,还添加了id属性。
添加javascript onchange处理程序函数,该函数仅检索所选值并设置变量
函数setSelected(){
var myselect=document.getElementById(“locationSelect”);
您的_VAR=myselect.options[myselect.selectedIndex].value;
}

这似乎不起作用,但也许我就是不明白。我刚刚在代码中添加了3个元素,但现在我认为应该只添加1个。我是否应该将最重要的Jquery内容添加到我的ajax代码中,并且一旦用户单击下拉选项,该值就会保持不变?对不起,我不清楚。第一段代码是使用jQuery钩住select form change()。然后我注意到您没有在其他地方使用jQuery,所以添加了第二个示例,我试图拼凑出一个不使用jQuery的示例。在本例中,您需要对html Select元素进行一些小更改,并添加调用onChange()时触发的javascript函数。啊,我明白了。我用了第一个例子,但似乎不起作用。我将该函数添加到ajax脚本中,这样它就可以保存在那里了。我试图在页面更改后将其打印出来,但不起作用。变量需要是全局的还是什么的?你的变量需要是全局的。我的知识很基础,你能告诉我怎么做吗?
Using jQuery:
    $('[name="locationName"]').change(function() {
      YOUR_VAR = $(this).attr('value');
    });


Not using jQuery- 
Add onChange() to your SELECT element, also added id attribute.
Add javascript onchange handler function, which just retrieves the selected value and sets your var

    <select name="locationName" onChange="setSelected()" id="locationSelect">

    function setSelected(){
      var myselect= document.getElementById("locationSelect");
      YOUR_VAR = myselect.options[myselect.selectedIndex].value;
    }