2014-09-30 54 views
0

我正在嘗試對多個數據執行相同的操作,但屬性爲data-todo,但它不起作用。你可以幫幫我嗎?通過引導模式傳遞多個數據

JAVASCRIPT:

$(document).on("click", ".open-EditTodo", function() { 
    var todoId = $(this).data('id'); 
    var todoName = $(this).data('todo'); 
    $(".modal-body #todoId").val(todoId); 
    $(".modal-body $todoName").val(todoName); 
}); 

HTML:

<a href="#editTodoDialog" class="open-EditTodo btn btn-warning" data-toggle="modal" data-id="$todo_id" data-todo="$todo_name">EDIT</a> 

<div class="modal fade" tabindex="-1" role="dialog" style="margin-top: 200px;" id="editTodoDialog"> 
    <div class="modal-dialog" align="center"> 
    <div class="modal-content" style="width: 350px;"> 
     <div class="modal-header" align="left"> 
     <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
     <h4 class="modal-title">Edit to-do:</h4> 
     </div> 
     <div class="modal-body" align="center" style="height: 65px;"> 
     <form class="form-inline" role="form" method="post" action="todo.php"> 
      <div class="form-group"> 
      <input type="text" name="todoName" id="todoName" value="" class="form-control" style="width: 230px;"> 
      <input type="hidden" name="todoId" id="todoId" value=""> 
      <button type="submit" class="btn btn-warning"><span class="glyphicon glyphicon-edit"></span> Edit</button> 
      </div> 
     </form> 
     </div> 
    </div> 
    </div> 
</div> 

順便說一句,data-id工作得很好,但data-todo沒有。

回答

2

您可以將這兩個數據項放在一起。

例:

<a id="todolink" href="#editTodoDialog" class="open-EditTodo btn btn-warning" data-toggle="modal" data-todo='{"id":12,"todo":"xyz"}'>EDIT</a> 

現在你可以檢索數組是這樣的:。

VAR todoId = $( '#todolink')的數據( '待辦事項')的ID;

var todo = $('#todolink')。data('todo')。todo;

+0

Nadeeth,我在想這個解決方案,但我需要兩個不同的變量。他們中的每一個都將用於不同的目的(識別)。 – 2014-09-30 10:58:10

+0

然後您可以嘗試在數組內使用JSON對象。例如:[{「id」:$ todo_id,「todo」:$ todo_name}]。我沒有測試這個,請讓我知道它是否工作。 :-) 謝謝。 – Nadeeth 2014-09-30 19:55:40

+0

我測試過了,它工作正常。 http://jsfiddle.net/7j2h3Lu4/。我更新了答案。 – Nadeeth 2014-09-30 20:07:30

2

這將完美的工作,你有一些顯示數據的語法問題。

$(".modal-body $todoName").val(todoName); 

在這裏,而不是$ todoName這將是,

$(".modal-body #todoName").val(todoName); 

否則,沒有其他問題,意味着您可以使用兩種不同的數據屬性來傳遞數據。

+0

你的意思是OP應該在選擇器中用'#todoName'替換'$ todoName'? – 2016-06-03 06:36:26

+0

是的,因爲todoname是你的html代碼中的id。 – 2016-06-03 06:44:18