這將是對你最沒有道理的,但我不能跟蹤或認爲做什麼來解決這個問題,我有。看看這裏FIDDLE編輯現有輸入.VAL(),而不影響其它輸入VAL()的
在這個函數應該修改輸入的值,而只發送到輸入,它在我的代碼el
就像是指所有被點擊的元素。
我認爲的代碼說明我的角度,生病粘貼一些jQuery的這裏,如果你需要更多的只是問問。
var app = {
sendEditDataToApp: function (el) {
//Type of element to send
var elType = jQuery(el).prev().attr('name')
//Element data
var elVal = jQuery(el).prev().val()
//Match the edit element with the element constructor
var inConstructor = jQuery(el).closest('.display-data').prev()
inConstructor.addClass('opened')
//Send to app
jQuery('.builder .send').click(function() {
//Set new data input value
jQuery(el).parent().find('input').val(inConstructor.find(this).prev().val())
alert(inConstructor.find(this).prev().val())
inConstructor.removeClass('opened')
});
}
}
jQuery('.open').click(function(e) {
e.preventDefault()
app.sendEditDataToApp(this)
})
HTML:
<div class="builder">
<input value="" />
<button class="send">Send</button>
</div>
<div class="display-data">
<div class="row">
<input name="html" value="input 1" />
<button class="open">Open</button>
</div>
<div class="row">
<input name="html" value="input 2" />
<button class="open">Open</button>
</div>
<div class="row">
<input name="html" value="input 3" />
<button class="open">Open</button>
</div>
</div>
我的代碼是獲取輸入的.val()
,我不知道爲什麼它添加到所有的輸入時,我想用this
和el
只提及具體輸入點擊來自。
你要知道,我改寫了這個代碼,以滿足更好的小提琴,它基於對我真正的代碼邏輯,一些被複制,並從我真正的代碼粘貼,大多數被重新編輯。主要目標是編輯打開的點擊來自的特定輸入。
我要說的重點,主要就是jQuery(el).parent().find('input').val(inConstructor.find(this).prev().val())
(警告:這可能是一個不正確的說法,我的邏輯在這裏)el
指的是第一要素.open
,並this
指.send
。我發現其中.open
點擊來自特定的輸入,然後設置值是什麼是根據的this
.send
點擊inConstructor
值內。所以對我來說應該得到的輸入值,並將其放置在特定jQuery(el).parent().find('input')
< - 不是所有的都被點擊了那些的。
我想我知道現在該做什麼。我需要添加一個活動類。並將其發送到活動輸入。 –
好吧,我知道了..寫那小提琴,問這肯定讓我更好地分析代碼..我需要添加類像'.edit',然後而不是'jQuery(el).parent'我會寫這個'jQuery (el).closest('。edit')'就像一個魅力 –
這是一個解決方案,而不是解決您的問題。問題是,多次點擊就會觸發太多事件。 –