如何通过用户输入更改按钮值

时间:2015-08-06 08:17:20

标签: javascript jquery jquery-ui

该场景就像我有一个按钮,当它附加到页面上时,它创建了一个具有该对象的某些属性的对象,并在数组中添加该对象,现在我想要做的就是拥有该按钮值并将其更改为用户想要什么,但同时它应该在数组中更新[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;
&#13;
&#13;

请帮助我完成它会有很大的帮助,谢谢,我希望每个人都可以得到我想说的话。

1 个答案:

答案 0 :(得分:0)

我打算将此作为评论,但它变得太大了。

在您的代码中,您将jQuery选择器与纯Javascript选择器混合,即document.getElementById('your-id')都可以由$('#your-id')替换。然后你可以改为$('#buttonDiv').css('display', 'block')

另一件事是,当你使用jQuery语法$('...')时,你正在选择基于CSS的东西(它需要CSS类,id和其他相关的CSS标识符,比如HTML元素标签)因此你的{{1}找不到可以调用text method

的jQuery对象

然而,有一个例外:当您在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,方法是在顶部的代码段窗口的下拉菜单中选择它。