该场景就像我有一个按钮,当它附加到页面上时,它创建了一个具有该对象的某些属性的对象,并在数组中添加该对象,现在我想要做的就是拥有该按钮值并将其更改为用户想要什么,但同时它应该在数组中更新[object {button {value:''}}]。我试过但它做的是它写了所有按钮对象,我希望每个对象都有自己的价值请帮助我这个
if (ui.draggable.data('type') == "button")
{
document.getElementById('buttonDiv').style.display = "block";
btn_id++;
$( "<br><input type='submit' class='btn' id='btn-"+btn_id+"' value='buttonsss'>" ).text(ui.draggable.text()).appendTo( this ).click(function()
{
var color= button['button'].color=$('#btn_color').val();
var Bcolor= button['button'].Bcolor=$('#btn_bcolor').val();
$(this).css('color',color);
$(this).css('background',Bcolor);
var value= $(this).val($('#btn_value').val());
value= button['button'].value=$('#btn_value').val();
$("#btn_remove").click(function(){
$(this).remove();
arr.splice(ui.draggable.data('type'),1);
document.getElementById('buttonDiv').style.display = "none";
});
});
var button = {
button: {
type: 'button',
color: 'white',
width: '15px',
backgroundcolor:'white',
value: ' My Button',
id:'btn-"'+btn_id+'"',
control:'button',
name:'',
label:'My Button',
type:'',
status:'',
style:'',
left:'',
center:'',
right:'',
}
}
var objectName = "button";
arr.push(button);
&#13;
//for changing button properties form
<div id="buttonDiv" style="display:none;" class="answer_list" >
color:<br>
<input id="btn_color" type="text" name="color">
<br>
background-color:<br>
<input id="btn_bcolor" type="text" name="Bcolor">
<br>
value:<br>
<input id="btn_value" type="text" value="buttonname" placeholder="set your name">
<br>
Update component:<br>
<input id="update" type="button" value="update"/>
<br>
Remove component:<br>
<input id="btn_remove" type="button" value="remove"/>
</div>
&#13;
请帮助我完成它会有很大的帮助,谢谢,我希望每个人都可以得到我想说的话。
答案 0 :(得分:0)
我打算将此作为评论,但它变得太大了。
在您的代码中,您将jQuery选择器与纯Javascript选择器混合,即document.getElementById('your-id')
都可以由$('#your-id')
替换。然后你可以改为$('#buttonDiv').css('display', 'block')
。
另一件事是,当你使用jQuery语法$('...')
时,你正在选择基于CSS的东西(它需要CSS类,id和其他相关的CSS标识符,比如HTML元素标签)因此你的{{1}找不到可以调用text
method。
然而,有一个例外:当您在appendTo
method之后立即使用时:
$( "<br><input type='submit' class='btn' id='btn-"+btn_id+"' value='buttonsss'>" ).text()
或者,如果您只想在$( "<br><input type='submit' class='btn' id='btn-"+btn_id+"' value='buttonsss'>").appendTo("#buttonDiv")
内移动现有对象,则可以执行以下操作:
buttonDiv
在您的代码中进行所需的更正并添加缺少的变量后,人们可以更好地帮助您,您可以在问题的代码段中使用jQuery,方法是在顶部的代码段窗口的下拉菜单中选择它。