Jquery / php选择框显示/隐藏div

时间:2011-12-29 01:22:08

标签: php jquery drop-down-menu

我想要的是根据选项中选择的文本来显示或隐藏div,而不是当你没有php时它很容易显示的值...

如何在jquery中执行此操作,如果我选择的文本中的选定文本是

<?php echo $option_value['name']; ?>

等于某些文本然后显示此div其他显示其他div。

<select id="opt" name="option[<?php echo $option['product_option_id']; ?>]">
            <option value="0"><?php echo $text_select; ?></option>
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php echo $option_value['price']; ?>
            <?php } ?>
            </option>
            <?php } ?>
          </select>

2 个答案:

答案 0 :(得分:0)

您可以尝试在内联js块或隐藏输入中输出要匹配的值

PHP代码:

<input id="matchvalue" type="hidden" value="<?php echo $option_value['name']; ?>" />

jQuery的:

  var matchvalue = $('#matchvalue').val();
  $('#opt').change(function(){
    if( $(this).find('option:selected').text() == matchvalue){
       //DO WHATEVER
    }else{
      //NO MATCH
    }
  });

这可行,或者您可以将“var matchvalue”输出到某个地方的js块中。

答案 1 :(得分:0)

jQuery( document ).ready( function(){
    jQuery( '#opt' ).change( function(){
        if( jQuery( this ).find( ':selected' ).text() == theValue ){
          jQuery( '#mypositiveelement' ).show();
          jQuery( '#mynegativeelement' ).hide(); //or whatever
        }else{
          jQuery( '#mypositiveelement' ).hide();
          jQuery( '#mynegativeelement' ).show(); //or whatever
        }
    } );
} );

然后在HTML中添加内联脚本,如

<script type="text/javascript">//<![CDATA[
    var theValue = "<?php echo $option_value['name']; ?>";
//]]></script>