2017-01-20 12 views
-1

Я хочу передать два параметра под названием «data-idVendor», «data-idService», который находится в файле search.html. Я хочу отправить эти значения параметра для моей Backbone перемещаются по URL-адресам. Как передать эти параметры в мой backbone.history.navigate.Пожалуйста, помогите мне решить эту проблему.как передать параметр с страницы underscore.js на backbone.js для изменения url

/search.html

<div class="col-md-4 tour_1 serviceDetails" data-idVendor="<%=value.idVendor%>" data-idService="<%=value.idService%>"> 
    </div> 
<!-- eg: data-idVendor = 1, data-idService = 1 --> 

/search.js

events: { 
     "click .serviceDetails": "openServiceDetail" 
    }, 
    openServiceDetail: function (event) { 
     event.preventDefault(); 
     var currentElement = $(event.currentTarget); 

     /*How to pass those two value to backbone.history.navigate */ 
     /*In the place of '/1/1/xyz' I want to send the dynamic data ' data-idVendor/data-idService/xyz' */ 

     Backbone.history.navigate('/1/1/xyz', { 
      "trigger": true, 
      replace: false 
     }); 
     Backbone.history.loadUrl(Backbone.history.fragment); 
    } 

ответ

0

Попробуйте это, используйте "+"

openServiceDetail: function (event) { 
    event.preventDefault(); 

    //Get jQuery value from params 
    var data-idVendor = $(event.target).attr("data-idVendor"); 
    var data-idService = $(event.target).attr("data-idService"); 



    Backbone.history.navigate(data-idVendor + "/" + data-idService +"/xyz" ,    
    { 
     "trigger": true, 
     replace: false 
    }); 
+0

спасибо, его работы. – joy

+1

Символ '-' является недопустимым символом для имени идентификатора. Используйте что-то вроде 'dataIdVendor'. Избегайте вызывать '$ (event.target)' каждую строку, поскольку каждый раз он конструирует новый объект jQuery, просто повторно используйте один и тот же. –