【问题标题】:Redirect issue in select element选择元素中的重定向问题
【发布时间】:2019-05-30 22:38:33
【问题描述】:

我使用了依赖项下拉菜单。

 <html>
 <body>
  <select id="parent-cat" name="parent-cat" onchange="getChildrenList(this.value)">    
            <option value ="">- Please Select -</option>               
                <option value="1">test1</option> 
                <option value="2">test2</option> 
                <option value="3">test2</option>                        
        </select>

     <select id="child-cat" name="child-cat" 
        onchange="getChildUrl(this.value)">    
            <option value ="">- Product category -</option>
        </select>

    <script>    
function getChildrenList(parentId) {
    if(parentId !=''){
        var customurl = "result.php";
        jQuery.ajax({
             url: customurl,
             type: "POST",
             data : 'category_id='+parentId,
             dataType: 'json',
             success : function(result) {                
                var optionHtml; 
                optionHtml +='<option value="">-Product Category-</option>';                
                for(var option of result){
                  optionHtml +='<option value="'+option.url+'">'+option.name+'</option>';
                }
                jQuery('#child-cat').html(optionHtml);
             }
        }); 
   }
}

function getChildUrl(childUrl) {
    var url = childUrl; 
      if (url) { 
          window.location = url; // redirect
      }
      return false;
 }
</script>

  </body>
 </html>

一旦第一个下拉列表被更改,我会将结果附加到下一个下拉列表中。

我的问题是,一旦选择了第二个下拉菜单,它就会重定向到 url,但未选择该选项。

我正在寻找代码如何在更改第二个下拉列表后重定向 url 后选择两个下拉列表。

请任何人帮助我。谢谢

【问题讨论】:

  • 您可以使用级联下拉库并在成功或错误时使用回调。 jqueryscript.net/demo/…
  • @WaqasAhmed,你能根据我的问题帮助我吗,我没有清除这个链接,一旦下拉列表被更改,我就会重定向到 url
  • @WaqasAhmed,我希望这里不需要级联下拉

标签: jquery ajax redirect href


【解决方案1】:

我相信您的问题在于 getChildrenList 函数。您永远不会检查您的 url 是否与您当前添加的选项相同,并且您永远不会将 select 参数添加到选项,因此即使您已导航到该 url,它也不会保持选中状态。由于您生成下拉列表的方式(即每次加载页面时都在客户端重新生成它),您还需要检查每次打开页面时是否在客户端选择了该选项。请注意,我尚未验证以下解决方案是否有效。

function getChildrenList(parentId) {
    if(parentId !=''){
        var customurl = "result.php";
        jQuery.ajax({
             url: customurl,
             type: "POST",
             data : 'category_id='+parentId,
             dataType: 'json',
             success : function(result) {
                var optionHtml; 
                optionHtml +='<option value="">-Product Category-</option>';                
                for(var option of result){
                  var selected = (window.location == option.url) ? "selected=\"selected\"" : ""
                  optionHtml +='<option value="'+option.url+'" '+selected+'>'+option.name+'</option>';
                }
                jQuery('#child-cat').html(optionHtml);
             }
        }); 
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 2016-12-22
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    相关资源
    最近更新 更多