2014-10-22 79 views
0

我想給用戶選項來編輯導航欄的標題。所以,當用戶點擊編輯時,我想給他們一個文本字段和一個提交按鈕。無法通過div ID作爲函數參數

下面是代碼(PHP塊內)

$n1="<div id='nava' class='nav' > 
     <a href=#>$nava</a> 
     <input type='submit' id='nav1' class='b' onclick='edit(this.id,???)' value='Edit'> 
    </div>"; 
$n2="<div id='navb' class='nav' > 
     <a href=#>$navb</a> 
     <input type='submit' id='nav2' class='b' onclick='edit(this.id,???)' value='Edit'> 
    </div>"; 
$n3="<div id='navc' class='nav' > 
     <a href=#>$navc</a> 
     <input type='submit' id='nav3' class='b' onclick='edit(this.id,???)' value='Edit'> 
    </div>"; 

,如果我做編輯(this.id,納瓦),它給了我對象的DivElement消息,當我做警報。

但我需要div的id作爲string.Passing提交按鈕的id完美,但我無法弄清楚如何傳遞相應的div編輯功能的ID。我會怎麼做?

+1

也許'(this.parentElement | this.parentNode).id'id' – 2014-10-22 00:42:39

+1

'edit(this.id,'nava')'? – rjdown 2014-10-22 00:42:46

+0

不,我試過以前沒有工作 – 2014-10-22 00:44:03

回答

0

parentNode絕對是獲得父級Div的ID(不使用像JQuery這樣的框架)的正確方法。像這樣https://developer.mozilla.org/en/docs/Web/API/Node.parentNode

回到你的榜樣,你可以簡單地編寫JavaScript編輯()函數:你可以閱讀更多關於它在這裏

function edit(id) { 
    var divId = document.getElementById(id).parentNode.id; 
    console.log(divId); 
} 

使用你的HTML,我已經把一個快速搗鼓你展示如何能工作

http://jsfiddle.net/wj7bch3m/

希望幫助!

+0

Thanks.It工作。 – 2014-10-22 01:21:44

0

你可以做這樣的事情來改變不同的資產淨值

HTML

<div id="nav"> 
    <a href="#" id="link1">Link</a> 
    <input type="text" for="link1" id="newLink" class="changeNav"/> 
</div> 

jQuery的

$(".changeNav").on("change", function(){ 
    var newLink = $(this).val(); 
    var whichNav = $(this).attr("for"); 
    $("#" + whichNav).empty().append(newLink); 
}); 

這裏是一個JSFIDDLE

希望這有助於