【问题标题】:Show hide div by jquery depending on 2 values from 2 selectbox根据来自 2 个选择框的 2 个值,由 jquery 显示隐藏 div
【发布时间】:2012-07-10 19:46:34
【问题描述】:

有人可以帮助我吗? 我想根据来自两个选择框的值通过 jquery 隐藏一些 div 这是我的代码

$("#offer_seeking_select").change(function(){
var offer_seeking=$(this).val();
var selectedCategory=$("select.category-select:visible").last().find("option:selected").val();

$.get(www_base+"adding.php?cID="+selectedCategory+"&offer="+offer_seeking,function(data){
if(data.status=="ok"){$("#forms").html(data.html).trigger("forms_content_updated")
}})});

html代码

<select id="drop-2"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<select id="drop-3"><option value="offer">Offer</option><option value="seeking">Seeking</option></select>
<div id="forms"></div>

add.php 中的一些 'div' 将在 #forms 中显示隐藏,具体取决于从 #drop-2 和 drop-3 中选择时的值,例如,如果我从 drop-2 中选择 1 并从 drop-3 显示中提供#one 和 #three 隐藏 #two,否则从 drop-2 中选择 2 并从 drop-3 中搜索显示 #two 和 #three hide #one

文件adding.php中的这个html,因为我无法在文件adding.php中获取cID和offer

<div id="one">abc</div>
<div id="two">123</div>
<div id="three">789</div>

【问题讨论】:

  • 您可能需要一些时间来清理代码并减少字符串连接。

标签: php javascript jquery


【解决方案1】:

这样的事情怎么样,它使用与选择的 id 相对应的类,您可能需要重构以适应您所需的逻辑,因为我不确定我是否完全理解。

$('#foo, #bar').change(function(e) {
    var $elm = $(e.target);
    var $elmDiv = $('.' + $elm.attr('id'));

    if ($elm.val() !== "") {
        $elmDiv.show();
    } else {
        $elmDiv.hide();
    }
});​

这是demo

【讨论】:

  • 两个选择框#drop-2和#drop-3中的类'category-select'
  • 在我的情况下,首先必须从选择框#drop-2 中选择类别值,然后从选择框#drop-3 中选择类别值,之后必须将变量 selectedCategory 和 offer_seeking 传递给 add.php 文件,此文件与 Mysql 一起使用并将结果提供给 $.get(www_base+"adding.php?cID="+selectedCategory+"&offer="+offer_seeking,function(data){ if(data.status=="ok"){$( "#forms").html(data.html).trigger("forms_content_updated") }})});并将此结果中的数据(div#1 或 div#2)嵌入到 div#forms
  • 这是添加.php文件 if(isset($_GET['cID'])){ $catID = $_GET['cID']; $query = "select * from category where sub=0 and catID=".$catID ; $ketqua = mysql_query($query); $raw = mysql_fetch_array($ketqua); if($raw['OldNew']==2){ echo "
    somthing content
    "; } else if($raw['OldNew']==1){echo "
    content2
    ";} else {echo "
    content2
    "} }
  • 当我检查变量 'selectedCategory 和 offer_seeking' 时不会传递给 php 文件和/或 php 文件不会从脚本中获取变量
  • 这听起来像是一个单独的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-20
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多