我正试图点击一个按钮,将一个字段的数据添加到另一个字段,如果它已经存在,我认为我很接近,但在我的例子中,如果我的'else if'解析,第二次点击也会使我的'else'解析。我不能完全理解这一点。
events.js:141
throw er; // Unhandled 'error' event
^
Error: spawn /Users/user/Documents/Projects/project-x/node_modules/gifsicle/vendor/gifsicle ENOENT
at exports._errnoException (util.js:874:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at doNTCallback2 (node.js:441:9)
at process._tickCallback (node.js:355:17)
c12320:project-x user$
我也设置了一个小提琴: http://jsfiddle.net/sheferd/bq9o57fg/1/
由于
答案 0 :(得分:3)
只需将成员ID与文本输入框的值进行比较。
var old_data; //will hold old data until it is reassigned
$('#test').click(function(){
var replied = $('#en_replied').val();
var mem_id = $('#enr_member_id').val();
if (replied !== mem_id) {
//set textbox value to mem_id
old_data = $('#en_replied').val();
alert('Old Data: '+old_data);
$('#en_replied').val(mem_id);
} else {
//values already match
alert('values match');
}
});
如果您需要连续存储旧的#en_replied数据并使用它,您可以将旧数据更改为数组并检查值。有点像:
var old_data = [10,11,17,23];
var presentValue;
presentValue = old_data.indexOf(17); //returns 2
答案 1 :(得分:0)
我找到了一个我满意的解决方案,我确信我的js可以改进但这对我有用:
$('#test').click(function(){
var replied = $('#en_replied');
var mem_id = $('#enr_member_id').val();
var hasReplied = replied.val().split('|')
for(var i = 0; i < hasReplied.length; i++) {
if(hasReplied[i] == mem_id){
var hasId = true;
};
};
if(hasId !== true){
replied_ids = replied.val() + '|' + mem_id;
};
replied.val(replied_ids);
});
在这里制作了一个jsfiddle :http://jsfiddle.net/bq9o57fg/6/