将所选值传递给弹出窗口

时间:2015-01-20 10:53:36

标签: jquery select impromptu

我有一个带有选择框的窗口,选择了一个特定选项。在具有相同选择框值的弹出窗口中,我希望选择框从父窗口中选择相应的选择框选项。 我通过PHP调用在弹出窗口中生成选择框字段,直接从Mysql表生成。 请解决我的疑问

 mystates = [
{
    title: ' list',     
    html:'<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"><tr><td><strong>DATA1</strong></td><td>:</td><td id=\'dataid1\'> <select name=\'dataid1\' id=\'dataid1\' class=\'dataid1\'>'+<?php echo json_encode($options)?>+'</select></td></tr></table>',
    buttons: {  OK: true ,Cancel: -1},
        focus: 1,
        submit:function(e,v,m,f){

        e.preventDefault();
        if(v==-1){
        $.prompt.close();
        return false;
        }
        else if(v){

            dtaafunc(f);
            $.prompt.nextState();
                return false;
            }

        }

},

html是

<?php   
  $result = db_query('SELECT * FROM cart_items' );  
  foreach($result as $wonresRes){
   $options.="<option value='".$wonresRes->ID."'>".$wonresRes->data."     </option>"; 
  }
 ?>
 <table class='mtable'>
<tr>
<td>DATA1</td>
    <td id='dataid1'> 
        <select name='dataid1' id='dataid1' class='dataid1'>
            <?php echo ($options)?>
        </select>
     </td>
   </tr>
  </table>

1 个答案:

答案 0 :(得分:1)

首先,没有两个元素具有相同的id。您的父页面和弹出窗口包含一个具有相同id的selectbox。更改其中任何一个。

var selected = $('#select1').val() //Gives u the current option that is being selected(Parent page)

生成弹出窗口后,使用以下内容选择选择框

如果您将弹出式选择框ID重命名为selectbox2

$('#selectbox2').val(selected) //To be added only after the html is generated

案例2(文字说明)

var selectedTxt = $('#field').text();

选择

$("#selectbox2 option[value='"+selectedTxt+"']").attr('selected', 'selected'); //based on value

$("#selectbox2 option:contains(" + selectedTxt + ")").attr('selected', 'selected'); //based on text

这将使弹出选择框被选中。希望有助于交配......:)