0

ダイアログ ボックスを設定しようとしています。押されたボタンの名前をダイアログ ボックスに転送したいのですが、その方法がわかりません。

これまでのところ、私は持っています:

$(document).ready(function(){
$("#x").live('click', function(){
 var name = $(this).attr('name');  //want to pass this to the next jquery
 $('#dialog_box').dialog("open");
});
var input = $("#input");    
$("#dialog_box").dialog({
    autoOpen: false,
    resizable: false,
    height:180,
    width: 350,
    modal: true,
    buttons: {
        "Update": function(){
            alert(name);
        }
    }
  });
});

また、ダイアログ ボックスのタイトルを更新するために転送された変数をどのように使用すればよいでしょうか (以下のマークアップ)。

<div id="dialog_box" title="name variable here">
 <form id="dialog_form" name="dialog_form">
  <fieldset>
   <input type="text" name="input" id="input"/>
  </fieldset>
 </form>                
</div>

どんな助けでも感謝します:)

4

2 に答える 2

3

テキストボックス ID を適切な名前に変更してください。

このようにしてみてください。

var titleValue=$("#input").val();
$( "#dialog_box" ).dialog({ title: titleValue });

または、このようにデフォルトを上書きできます

$("#dialog_box").dialog("option", "title", $('#titleText').val());

ボタンクリックハンドラ。

 $('#btnOpendialog').on('click', function (e) {
     e.preventDefault();
     $("#dialog_box").dialog('open');
     $("#dialog_box").dialog("option", "title", $('#titleText').val()); // to change the dialog title. 

 })

ワーキングデモ

于 2013-03-14T12:47:33.287 に答える
1

まず第一に非推奨です。メソッドを使用して試すことをお.live()勧めします.on().data()

$(document).on('click', '#x', function(){
    $('#dialog_box').data('name', $(this).attr('name'));  //passed to dialog
    $('#dialog_box').dialog("open");
});

ダイアログ内で呼び出す

  $("#dialog_box").dialog({
      autoOpen: false,
      resizable: false,
      height:180,
      width: 350,
      title: $(this).data('name'), //will set dialog title 
      modal: true,
      buttons: {
        "Update": function(){
            alert($(this).data('name')); //should return input value
        }
    }
  });
});
于 2013-03-14T12:59:41.370 に答える