Javascript 在引导模式中将数据传递给输入标记
我在一个J2EE项目中工作,我遇到了一个毁了我一生的问题:我已经使用了bootstrap,我已经使用了bootstrap模式并将数据传递给了Model,但是这次,当我使用相同的代码时,它不起作用 PS:在代码段中它是有效的,这意味着代码是正确的,但在我的项目中它不是。这是什么意思Javascript 在引导模式中将数据传递给输入标记,javascript,jquery,twitter-bootstrap,bootstrap-modal,Javascript,Jquery,Twitter Bootstrap,Bootstrap Modal,我在一个J2EE项目中工作,我遇到了一个毁了我一生的问题:我已经使用了bootstrap,我已经使用了bootstrap模式并将数据传递给了Model,但是这次,当我使用相同的代码时,它不起作用 PS:在代码段中它是有效的,这意味着代码是正确的,但在我的项目中它不是。这是什么意思 $(“.modal link”)。单击(函数(){ $(“#descr”).attr('value',$(this.attr('descr')); $($(this.attr('href')).modal('show
$(“.modal link”)。单击(函数(){
$(“#descr”).attr('value',$(this.attr('descr'));
$($(this.attr('href')).modal('show');
});代码>
×
细节
费尔默
${p.getMarque()}
${p.getDescr()}
编辑:别管我的帖子了。您已经发现问题不在于javascript或标记
您的代码似乎工作正常,因此问题显然出在其他地方。
我只取出foreach循环和变量,并对描述进行硬编码。模式内的输入根据按下的链接填充不同的描述。顺便说一下,您不需要使用.show()显式打开模式
$(“.modal link”)。单击(函数(){
$(“#descr”).attr(“value”),$(this.attr(“descr”));
//$($(this.attr('href')).modal('show');
});代码>
×
细节
费尔默
您错误地使用了attr()
方法。使用prop()
阅读更多关于。最重要的部分是:
然而,要记住的最重要的概念是
属性表示它与选中的属性不对应。这个
属性实际上对应于defaultChecked属性和
应仅用于设置复选框的初始值。这个
选中的属性值不随对象的状态而更改
复选框,而已选中的属性则不会。因此,
确定是否选中复选框的跨浏览器兼容方式是
使用该属性
其他动态属性(如“选定”和“值”)也是如此
换句话说,attr()
方法只更改属性的默认值(本例中的值)。如果您更改输入值
并尝试使用attr()
方法来更改它,它将不起作用,因为默认值!=当前值。若要更改当前值,必须使用或方法。${p.getDescr()}替换为${p.descr},然后重试。描述你的私人属性。还有${p.marque}@Gurkan yesilyart,问题不在那里${p.getDescr()}和${p.marque}的显示没有任何问题。我的问题在模态中。我在一个名为descr的变量中传递${p.getDescr()}的值,并尝试将其值放入模式中的输入标记中,其id为“descr”,无法分配!我已经使用了相同的代码,没有问题,我不知道现在出了什么问题!它只在代码段中工作一次。您的服务器也是如此。它设置一次值,然后它就不再工作了。当您打开modal时,如果它的值设置正确,请尝试更改它的输入值并重新打开它。即使再次调用attr()
方法,该值也不会更改。在代码段中它只工作一次,而在我的项目中它不工作all@Bashir您仍然在使用错误的方法,您是否将attr()更改为prop()并重试了?我想我还有一个问题,我仍然不知道是什么问题,因为我的代码在其他项目中工作得很好,而且当我在这里运行代码片段时,它也工作得很好,我添加了YourAnswer(没有foreach),但当您的代码正确时,它仍然不工作。。我迷路了!你的代码片段不起作用。打开模式,更改其输入的内容并重新打开。输入内容将停止更改<代码>属性()
方法在此处使用不正确。
$(".modal-link").click(function() {
$("#descr").prop('value', $(this).attr('descr'));
$($(this).attr('href')).modal('show');
});